[vlc-devel] [PATCH 00/18] es_format_t access cleaning
Steve Lhomme
robux4 at videolabs.io
Mon Jul 17 16:33:06 CEST 2017
Compared to the previous patchset:
- es_format_Replace is gone, for now you just have to do Clean+Copy manually
- packetizers are not forced the fmt_out by default, only the packetized flag
- there's also a loader function for packetizers to reinit the fmt_out between
failed modules
- the filter chain loader was also improved to be more robust against ES format
changes that loaded modules could do
- more asserts are added to check that modules that are loaded don't do anything
illegal on the format
Steve Lhomme (18):
vlc_modules.h: protect multiple includes
core: force the output to b_packetized when a packetizer is opened
successfully
modules: no need to set b_packetizer on the packetizer output anymore
decoder: add a function to create a decoder module
image: use the new decoder_LoadModule()
decoder: add the possibility to have a custom fmt_out setup to load a
decoder
modules:stream_out: use the new decoder_LoadModule()
video_filter:canvas: init the fmt_out directly from
filter_chain_GetFmtOut()
video_output: use the fmt_out directly from filter_chain_GetFmtOut()
transcode:video: clarify the fmt_out init value
mp4:libmp4mux: no need to init the es_format_t
demux:ogg: no need to change the es_format_t before a copy
demux:ts_sl: fix potential leak
demux:ts: init the ts_es_t to its es_format_t when possible
filter_chain: reset the fmt_in/out between failed load of filters
filter_chain: check the fmt_out didn't change when it's not allowed
modules:video_filters: a filter must clean the es_format_t before
overwriting it
modules:decoders: clean the es_format_t before overwriting it
include/vlc_codec.h | 10 ++++
include/vlc_modules.h | 5 ++
modules/codec/cvdsub.c | 1 -
modules/codec/daala.c | 3 -
modules/codec/ddummy.c | 1 +
modules/codec/kate.c | 3 -
modules/codec/oggspots.c | 4 +-
modules/codec/rawvideo.c | 3 +
modules/codec/speex.c | 3 -
modules/codec/theora.c | 3 -
modules/codec/vorbis.c | 3 -
modules/codec/xwd.c | 1 +
modules/demux/mpeg/ts_psi.c | 8 +--
modules/demux/mpeg/ts_sl.c | 2 +
modules/demux/mpeg/ts_streams.c | 9 ++-
modules/demux/mpeg/ts_streams.h | 2 +-
modules/demux/ogg.c | 3 +-
.../demux/smooth/playlist/ForgedInitSegment.cpp | 2 +-
modules/hw/mmal/deinterlace.c | 1 +
modules/mux/mp4/libmp4mux.c | 2 -
modules/packetizer/flac.c | 1 -
modules/packetizer/h264.c | 1 -
modules/packetizer/hevc.c | 1 -
modules/stream_out/mosaic_bridge.c | 18 ++++--
modules/stream_out/transcode/audio.c | 18 ++++--
modules/stream_out/transcode/spu.c | 3 +-
modules/stream_out/transcode/video.c | 42 ++++++++-----
modules/video_filter/canvas.c | 5 +-
src/input/decoder.c | 70 ++++++++++++++++++----
src/input/decoder.h | 5 ++
src/input/demux.c | 7 ++-
src/libvlccore.sym | 1 +
src/misc/filter_chain.c | 30 +++++++++-
src/misc/image.c | 3 +-
src/video_output/video_output.c | 10 ++--
35 files changed, 195 insertions(+), 89 deletions(-)
--
2.12.1
More information about the vlc-devel
mailing list