From 6323ca5902839b4d2e38b98e18daa8f1b4460c77 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 30 Oct 2023 16:04:24 +0100 Subject: [PATCH] avfilter/vf_feedback: add timeline support --- libavfilter/vf_feedback.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_feedback.c b/libavfilter/vf_feedback.c index 33beae66ec..2fb7d48057 100644 --- a/libavfilter/vf_feedback.c +++ b/libavfilter/vf_feedback.c @@ -185,13 +185,16 @@ static int activate(AVFilterContext *ctx) return ret; } - if (!s->feed) { + if (!s->feed || ctx->is_disabled) { AVFrame *in = NULL; ret = ff_inlink_consume_frame(ctx->inputs[0], &in); if (ret < 0) return ret; + if (ret > 0 && ctx->is_disabled) + return ff_filter_frame(ctx->outputs[0], in); + if (ret > 0) { AVFrame *frame; @@ -239,10 +242,11 @@ static int activate(AVFilterContext *ctx) return 0; } - if (!s->feed) { + if (!s->feed || ctx->is_disabled) { if (ff_outlink_frame_wanted(ctx->outputs[0])) { ff_inlink_request_frame(ctx->inputs[0]); - ff_inlink_request_frame(ctx->inputs[1]); + if (!ctx->is_disabled) + ff_inlink_request_frame(ctx->inputs[1]); return 0; } } @@ -330,5 +334,6 @@ const AVFilter ff_vf_feedback = { FILTER_INPUTS(inputs), FILTER_OUTPUTS(outputs), FILTER_QUERY_FUNC(query_formats), + .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = ff_filter_process_command, };