[vlc-devel] [PATCH 12/19] transcode: video: don't drain the secondary filters

Steve Lhomme robux4 at ycbcr.xyz
Tue Oct 13 15:51:55 CEST 2020


The second loop is never looping since on the second call p_in is NULL,
resulting in the "secondary_chains" loop not being used and thus p_in remains
NULL.

Unlike deinterlace/fps, user filters usually don't produce any secondary
pictures. This is the same assumption done in the display output where only
the "chain_static" is drained.
---
 modules/stream_out/transcode/video.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c
index dd3093a9692..d4ce686c49e 100644
--- a/modules/stream_out/transcode/video.c
+++ b/modules/stream_out/transcode/video.c
@@ -582,8 +582,6 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
             if( !p_in )
                 break;
 
-            for ( ;; p_in = NULL /* drain second time */ )
-            {
                 /* Run user specified filter chain */
                 filter_chain_t * secondary_chains[] = { id->p_uf_chain,
                                                         id->p_final_conv_static };
@@ -607,7 +605,6 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
                         block_ChainAppend( out, p_encoded );
                     picture_Release( p_in );
                 }
-            }
         }
 
         if( b_eos )
-- 
2.26.2



More information about the vlc-devel mailing list