summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/af_asetnsamples.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c
index fe6d40f9ca..20cc70ce4a 100644
--- a/libavfilter/af_asetnsamples.c
+++ b/libavfilter/af_asetnsamples.c
@@ -61,12 +61,15 @@ static int activate(AVFilterContext *ctx)
FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink);
- ret = ff_inlink_consume_samples(inlink, s->nb_out_samples, s->nb_out_samples, &frame);
+ if (ctx->is_disabled)
+ ret = ff_inlink_consume_frame(inlink, &frame);
+ else
+ ret = ff_inlink_consume_samples(inlink, s->nb_out_samples, s->nb_out_samples, &frame);
if (ret < 0)
return ret;
if (ret > 0) {
- if (!s->pad || frame->nb_samples == s->nb_out_samples)
+ if (!s->pad || ctx->is_disabled || frame->nb_samples == s->nb_out_samples)
return ff_filter_frame(outlink, frame);
pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples);
@@ -123,5 +126,6 @@ const AVFilter ff_af_asetnsamples = {
FILTER_INPUTS(asetnsamples_inputs),
FILTER_OUTPUTS(asetnsamples_outputs),
.activate = activate,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
.process_command = ff_filter_process_command,
};