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

Reply via email to