vlc | branch: master | Steve Lhomme <[email protected]> | Mon Feb 18 14:51:05 2019 +0100| [8f42275cdf8251d81ee983444fd22556a994c85e] | committer: Steve Lhomme
modules: make the decoder owners use the decoder_Destroy() > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8f42275cdf8251d81ee983444fd22556a994c85e --- modules/stream_out/mosaic_bridge.c | 12 ++---------- modules/stream_out/sdi/SDIStream.cpp | 12 ++---------- modules/stream_out/transcode/transcode.c | 7 +------ 3 files changed, 5 insertions(+), 26 deletions(-) diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c index bd2bd13e5d..3c77b45a42 100644 --- a/modules/stream_out/mosaic_bridge.c +++ b/modules/stream_out/mosaic_bridge.c @@ -319,7 +319,7 @@ static void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt ) if( !p_sys->p_decoder->p_module ) { msg_Err( p_stream, "cannot find decoder" ); - vlc_object_release( p_sys->p_decoder ); + decoder_Destroy( &p_sys->p_decoder ); return NULL; } @@ -429,15 +429,7 @@ static void Del( sout_stream_t *p_stream, void *id ) if( !p_sys->b_inited ) return; - if( p_sys->p_decoder != NULL ) - { - if( p_sys->p_decoder->p_module ) - module_unneed( p_sys->p_decoder, p_sys->p_decoder->p_module ); - if( p_sys->p_decoder->p_description ) - vlc_meta_Delete( p_sys->p_decoder->p_description ); - - vlc_object_release( p_sys->p_decoder ); - } + decoder_Destroy( &p_sys->p_decoder ); /* Destroy user specified video filters */ if( p_sys->p_vf2 ) diff --git a/modules/stream_out/sdi/SDIStream.cpp b/modules/stream_out/sdi/SDIStream.cpp index 9e657f4aa1..a949e1f55d 100644 --- a/modules/stream_out/sdi/SDIStream.cpp +++ b/modules/stream_out/sdi/SDIStream.cpp @@ -183,15 +183,9 @@ AbstractDecodedStream::~AbstractDecodedStream() struct decoder_owner *p_owner; p_owner = container_of(p_decoder, struct decoder_owner, dec); - if(p_decoder->p_module) - module_unneed(p_decoder, p_decoder->p_module); - es_format_Clean(&p_owner->dec.fmt_in); - es_format_Clean(&p_owner->dec.fmt_out); es_format_Clean(&p_owner->decoder_out); es_format_Clean(&p_owner->last_fmt_update); - if(p_decoder->p_description) - vlc_meta_Delete(p_decoder->p_description); - vlc_object_release(p_decoder); + decoder_Destroy( &p_decoder ); } bool AbstractDecodedStream::init(const es_format_t *p_fmt) @@ -225,11 +219,9 @@ bool AbstractDecodedStream::init(const es_format_t *p_fmt) if(!p_decoder->p_module) { msg_Err(p_stream, "cannot find %s for %4.4s", category, (char *)&p_fmt->i_codec); - es_format_Clean(&p_decoder->fmt_in); - es_format_Clean(&p_decoder->fmt_out); es_format_Clean(&p_owner->decoder_out); es_format_Clean(&p_owner->last_fmt_update); - vlc_object_release(p_decoder); + decoder_Destroy( &p_decoder ); p_decoder = NULL; return false; } diff --git a/modules/stream_out/transcode/transcode.c b/modules/stream_out/transcode/transcode.c index feee667993..f367433c94 100644 --- a/modules/stream_out/transcode/transcode.c +++ b/modules/stream_out/transcode/transcode.c @@ -496,12 +496,7 @@ static void DeleteSoutStreamID( sout_stream_id_sys_t *id ) { if( id ) { - if( id->p_decoder ) - { - es_format_Clean( &id->p_decoder->fmt_in ); - es_format_Clean( &id->p_decoder->fmt_out ); - vlc_object_release( id->p_decoder ); - } + decoder_Destroy( &id->p_decoder ); vlc_mutex_destroy(&id->fifo.lock); free( id ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
