diff options
author | Paul B Mahol <onemda@gmail.com> | 2022-04-12 16:41:17 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2022-04-12 19:30:58 +0200 |
commit | 25cd1845ab4c16810f847929c22984dc704569c8 (patch) | |
tree | ee4f375472afb45f6b8b2272e900f599790b49bc /libavfilter/af_asetnsamples.c | |
parent | b64043a83d5792d227bee9a01e9360fd5de404e3 (diff) |
avfilter/af_asetnsamples: fix excessive frames queueing at start
Diffstat (limited to 'libavfilter/af_asetnsamples.c')
-rw-r--r-- | libavfilter/af_asetnsamples.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c index 6fb646ace4..74d3fde35e 100644 --- a/libavfilter/af_asetnsamples.c +++ b/libavfilter/af_asetnsamples.c @@ -66,12 +66,8 @@ static int activate(AVFilterContext *ctx) return ret; if (ret > 0) { - if (!s->pad || frame->nb_samples == s->nb_out_samples) { - ret = ff_filter_frame(outlink, frame); - if (ff_inlink_queued_samples(inlink) >= s->nb_out_samples) - ff_filter_set_ready(ctx, 100); - return ret; - } + if (!s->pad || frame->nb_samples == s->nb_out_samples) + return ff_filter_frame(outlink, frame); pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples); if (!pad_frame) { @@ -96,6 +92,10 @@ static int activate(AVFilterContext *ctx) } FF_FILTER_FORWARD_STATUS(inlink, outlink); + if (ff_inlink_queued_samples(inlink) >= s->nb_out_samples) { + ff_filter_set_ready(ctx, 100); + return 0; + } FF_FILTER_FORWARD_WANTED(outlink, inlink); return FFERROR_NOT_READY; |