vlc | branch: master | Ilkka Ollakka <[email protected]> | Fri Nov 1 13:54:57 2019 +0200| [f0baa57160da84e97843abe7a5ec2d8fa676ad08] | committer: Ilkka Ollakka
transcode: clear video eos and remove filters after drain Without removing the filters we hit assert on next look about filters being present. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f0baa57160da84e97843abe7a5ec2d8fa676ad08 --- modules/stream_out/transcode/video.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c index 04f749a990..ae615351d5 100644 --- a/modules/stream_out/transcode/video.c +++ b/modules/stream_out/transcode/video.c @@ -491,7 +491,7 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id, { *out = NULL; - const bool b_eos = in && (in->i_flags & BLOCK_FLAG_END_OF_SEQUENCE); + bool b_eos = in && (in->i_flags & BLOCK_FLAG_END_OF_SEQUENCE); int ret = id->p_decoder->pf_decode( id->p_decoder, in ); if( ret != VLCDEC_SUCCESS ) @@ -644,8 +644,14 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id, if( transcode_encoder_drain( id->encoder, out ) != VLC_SUCCESS ) goto error; transcode_encoder_close( id->encoder ); - if( b_eos ) - tag_last_block_with_flag( out, BLOCK_FLAG_END_OF_SEQUENCE ); + /* Close filters */ + transcode_remove_filters( &id->p_f_chain ); + transcode_remove_filters( &id->p_conv_nonstatic ); + transcode_remove_filters( &id->p_conv_static ); + transcode_remove_filters( &id->p_uf_chain ); + transcode_remove_filters( &id->p_final_conv_static ); + tag_last_block_with_flag( out, BLOCK_FLAG_END_OF_SEQUENCE ); + b_eos = false; } continue; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
