vlc | branch: master | Rafaël Carré <[email protected]> | Tue Jan 6 13:43:19 2015 +0100| [a4a43a825d41d7a3d3a59020ffecca5617ca8664] | committer: Rafaël Carré
transcode: avoid double thread join > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a4a43a825d41d7a3d3a59020ffecca5617ca8664 --- modules/stream_out/transcode/video.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c index 949a23f..5bce602 100644 --- a/modules/stream_out/transcode/video.c +++ b/modules/stream_out/transcode/video.c @@ -576,7 +576,7 @@ static int transcode_video_encoder_open( sout_stream_t *p_stream, void transcode_video_close( sout_stream_t *p_stream, sout_stream_id_sys_t *id ) { - if( p_stream->p_sys->i_threads >= 1 ) + if( p_stream->p_sys->i_threads >= 1 && !p_stream->p_sys->b_abort ) { vlc_mutex_lock( &p_stream->p_sys->lock_out ); p_stream->p_sys->b_abort = true; @@ -584,14 +584,15 @@ void transcode_video_close( sout_stream_t *p_stream, vlc_mutex_unlock( &p_stream->p_sys->lock_out ); vlc_join( p_stream->p_sys->thread, NULL ); - vlc_mutex_destroy( &p_stream->p_sys->lock_out ); - vlc_cond_destroy( &p_stream->p_sys->cond ); picture_fifo_Delete( p_stream->p_sys->pp_pics ); block_ChainRelease( p_stream->p_sys->p_buffers ); p_stream->p_sys->pp_pics = NULL; } + vlc_mutex_destroy( &p_stream->p_sys->lock_out ); + vlc_cond_destroy( &p_stream->p_sys->cond ); + /* Close decoder */ if( id->p_decoder->p_module ) module_unneed( id->p_decoder, id->p_decoder->p_module ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
