diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c index 285b5b6557..d823e82d39 100644 --- a/libavfilter/af_afade.c +++ b/libavfilter/af_afade.c @@ -441,6 +441,8 @@ static int activate(AVFilterContext *ctx) int ret = 0, nb_samples, status; int64_t pts; + FF_FILTER_FORWARD_STATUS_BACK_ALL(outlink, ctx); + if (s->crossfade_is_over) { ret = ff_inlink_consume_frame(ctx->inputs[1], &in); if (ret < 0) { diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index 46f1bf63d7..ec2556f920 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -425,6 +425,8 @@ static int activate(AVFilterContext *ctx) AVFrame *buf = NULL; int i, ret; + FF_FILTER_FORWARD_STATUS_BACK_ALL(outlink, ctx); + for (i = 0; i < s->nb_inputs; i++) { AVFilterLink *inlink = ctx->inputs[i]; diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index 4f86e13558..930c9e48e7 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -472,6 +472,8 @@ static int activate(AVFilterContext *ctx) int nb_samples = 0; int64_t pts; + FF_FILTER_FORWARD_STATUS_BACK_ALL(ctx->outputs[0], ctx); + if (!s->input_frames[0]) { ret = ff_inlink_consume_frame(ctx->inputs[0], &s->input_frames[0]); if (ret < 0) {