aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2023-10-30 16:04:24 +0100
committerPaul B Mahol <onemda@gmail.com>2023-10-30 16:06:46 +0100
commit6323ca5902839b4d2e38b98e18daa8f1b4460c77 (patch)
tree8f3cd5ef56d0d595f5d4a37c79ba669e60782d41 /libavfilter
parent2f268505b9df298edb5016f3dd4f26726826ff6f (diff)
downloadffmpeg-6323ca5902839b4d2e38b98e18daa8f1b4460c77.tar.gz
avfilter/vf_feedback: add timeline support
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_feedback.c11
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,
};