[FFmpeg-devel] [PATCH 22/36] fftools/ffmpeg: drop an obsolete hack

Anton Khirnov anton at khirnov.net
Wed May 17 13:20:15 EEST 2023


This special handling for decoder flushing has not been needed since
af1761f7b5, as the filtergraph actually is drained after that commit.
---
 fftools/ffmpeg.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 9d554e2fb0..49313edebc 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1418,17 +1418,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo
         if (!got_output)
             break;
 
-        // During draining, we might get multiple output frames in this loop.
-        // ffmpeg.c does not drain the filter chain on configuration changes,
-        // which means if we send multiple frames at once to the filters, and
-        // one of those frames changes configuration, the buffered frames will
-        // be lost. This can upset certain FATE tests.
-        // Decode only 1 frame per call on EOF to appease these FATE tests.
-        // The ideal solution would be to rewrite decoding to use the new
-        // decoding API in a better way.
-        if (!pkt)
-            break;
-
         repeating = 1;
     }
 
-- 
2.39.2



More information about the ffmpeg-devel mailing list