mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-20 21:00:41 +08:00
avfilter/vf_feedback: fix feedback block
Fix #20940
The feedback and its sub-filter both request frame
from each other, casuing block since 4440e499ba
The feedback should only request inputs[1] once
rather than continuously request frame cause blocking.
This patch add check whether feedback already request
inputs[1] via ff_outlink_frame_wanted(ctx->outputs[1]),
if true, then exit and waiting inputs[0] because it means
we need more frames input to proceed.
Signed-off-by: Jack Lau <jacklau1222gm@gmail.com>
This commit is contained in:
@@ -245,6 +245,10 @@ static int activate(AVFilterContext *ctx)
|
||||
}
|
||||
|
||||
if (!s->feed || ctx->is_disabled) {
|
||||
if (!ctx->is_disabled && ff_outlink_frame_wanted(ctx->outputs[1])) {
|
||||
ff_inlink_request_frame(ctx->inputs[0]);
|
||||
return 0;
|
||||
}
|
||||
if (ff_outlink_frame_wanted(ctx->outputs[0])) {
|
||||
ff_inlink_request_frame(ctx->inputs[0]);
|
||||
if (!ctx->is_disabled)
|
||||
|
||||
Reference in New Issue
Block a user