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