[FFmpeg-cvslog] avfilter/f_interleave: make sure that all frames in inlink queue are used

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


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

avfilter/f_interleave: make sure that all frames in inlink queue are used

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

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

diff --git a/libavfilter/f_interleave.c b/libavfilter/f_interleave.c
index 368ce6e678..c231b307c1 100644
--- a/libavfilter/f_interleave.c
+++ b/libavfilter/f_interleave.c
@@ -64,26 +64,24 @@ static int activate(AVFilterContext *ctx)
     AVFilterLink *outlink = ctx->outputs[0];
     InterleaveContext *s = ctx->priv;
     int64_t q_pts, pts = INT64_MAX;
-    int i, nb_eofs = 0, input_idx = -1, nb_active_inputs = 0;
+    int i, nb_eofs = 0, input_idx = -1;
     int nb_inputs_with_frames = 0;
 
     FF_FILTER_FORWARD_STATUS_BACK_ALL(outlink, ctx);
 
     for (i = 0; i < ctx->nb_inputs; i++) {
         if (!ff_outlink_get_status(ctx->inputs[i])) {
-            nb_active_inputs++;
             if (!ff_inlink_queued_frames(ctx->inputs[i]))
                 break;
             nb_inputs_with_frames++;
         }
     }
 
-    if (nb_active_inputs > 0 && nb_active_inputs == nb_inputs_with_frames) {
+    if (nb_inputs_with_frames > 0) {
         for (i = 0; i < ctx->nb_inputs; i++) {
             AVFrame *frame;
 
-            if (ff_outlink_get_status(ctx->inputs[i]) ||
-                ff_inlink_queued_frames(ctx->inputs[i]) == 0)
+            if (ff_inlink_queued_frames(ctx->inputs[i]) == 0)
                 continue;
 
             frame = ff_inlink_peek_frame(ctx->inputs[i], 0);



More information about the ffmpeg-cvslog mailing list