[FFmpeg-cvslog] fftools/ffmpeg: move a block to a more appropriate place

Anton Khirnov git at videolan.org
Mon May 22 18:12:08 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue May 16 22:20:48 2023 +0200| [b5beff3f15bdb2ac6d3efe41defc0f030c3f08fe] | committer: Anton Khirnov

fftools/ffmpeg: move a block to a more appropriate place

New placement requires fewer explicit conditions and is easier to
understand.
The logic should be exactly equivalent, since this is the only place
where eof_reached is set for decoding.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b5beff3f15bdb2ac6d3efe41defc0f030c3f08fe
---

 fftools/ffmpeg.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 414bae1747..b88064a2bc 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1393,6 +1393,16 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo
         }
 
         if (ret == AVERROR_EOF) {
+            /* after flushing, send an EOF on all the filter inputs attached to the stream */
+            /* except when looping we need to flush but not to send an EOF */
+            if (!no_eof) {
+                ret = send_filter_eof(ist);
+                if (ret < 0) {
+                    av_log(NULL, AV_LOG_FATAL, "Error marking filters as finished\n");
+                    exit_program(1);
+                }
+            }
+
             eof_reached = 1;
             break;
         }
@@ -1416,16 +1426,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo
         repeating = 1;
     }
 
-    /* after flushing, send an EOF on all the filter inputs attached to the stream */
-    /* except when looping we need to flush but not to send an EOF */
-    if (!pkt && ist->decoding_needed && eof_reached && !no_eof) {
-        int ret = send_filter_eof(ist);
-        if (ret < 0) {
-            av_log(NULL, AV_LOG_FATAL, "Error marking filters as finished\n");
-            exit_program(1);
-        }
-    }
-
     if (!pkt && !ist->decoding_needed)
         eof_reached = 1;
 



More information about the ffmpeg-cvslog mailing list