diff options
author | Paul B Mahol <onemda@gmail.com> | 2023-10-30 16:04:24 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2023-10-30 16:06:46 +0100 |
commit | 6323ca5902839b4d2e38b98e18daa8f1b4460c77 (patch) | |
tree | 8f3cd5ef56d0d595f5d4a37c79ba669e60782d41 /libavfilter | |
parent | 2f268505b9df298edb5016f3dd4f26726826ff6f (diff) | |
download | ffmpeg-6323ca5902839b4d2e38b98e18daa8f1b4460c77.tar.gz |
avfilter/vf_feedback: add timeline support
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_feedback.c | 11 |
1 files 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, }; |