[FFmpeg-cvslog] avfilter/f_interleave: no need to check for inlink eof if non-empty queue

Paul B Mahol git at videolan.org
Sat Apr 25 14:39:07 EEST 2020


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat Apr 25 13:35:22 2020 +0200| [35bcbfd6da59ecb5288a6a823be731b4db30b365] | committer: Paul B Mahol

avfilter/f_interleave: no need to check for inlink eof if non-empty queue

Also set state to ready if there is any inlink with queued frame.

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

 libavfilter/f_interleave.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/libavfilter/f_interleave.c b/libavfilter/f_interleave.c
index c231b307c1..a18bbe79b3 100644
--- a/libavfilter/f_interleave.c
+++ b/libavfilter/f_interleave.c
@@ -70,11 +70,9 @@ static int activate(AVFilterContext *ctx)
     FF_FILTER_FORWARD_STATUS_BACK_ALL(outlink, ctx);
 
     for (i = 0; i < ctx->nb_inputs; i++) {
-        if (!ff_outlink_get_status(ctx->inputs[i])) {
-            if (!ff_inlink_queued_frames(ctx->inputs[i]))
-                break;
-            nb_inputs_with_frames++;
-        }
+        if (!ff_inlink_queued_frames(ctx->inputs[i]))
+            continue;
+        nb_inputs_with_frames++;
     }
 
     if (nb_inputs_with_frames > 0) {
@@ -137,6 +135,11 @@ static int activate(AVFilterContext *ctx)
         }
     }
 
+    if (i) {
+        ff_filter_set_ready(ctx, 100);
+        return 0;
+    }
+
     return FFERROR_NOT_READY;
 }
 



More information about the ffmpeg-cvslog mailing list