avfilter/vf_feedback: add timeline support

This commit is contained in:
Paul B Mahol 2023-10-30 16:04:24 +01:00
parent 2f268505b9
commit 6323ca5902

View File

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