Browse Source

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.
tags/n4.3
Paul B Mahol 5 years ago
parent
commit
35bcbfd6da
1 changed files with 8 additions and 5 deletions
  1. +8
    -5
      libavfilter/f_interleave.c

+ 8
- 5
libavfilter/f_interleave.c View File

@@ -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;
}



Loading…
Cancel
Save