summaryrefslogtreecommitdiff
path: root/libavfilter/af_asetnsamples.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2022-04-12 16:41:17 +0200
committerPaul B Mahol <onemda@gmail.com>2022-04-12 19:30:58 +0200
commit25cd1845ab4c16810f847929c22984dc704569c8 (patch)
treeee4f375472afb45f6b8b2272e900f599790b49bc /libavfilter/af_asetnsamples.c
parentb64043a83d5792d227bee9a01e9360fd5de404e3 (diff)
avfilter/af_asetnsamples: fix excessive frames queueing at start
Diffstat (limited to 'libavfilter/af_asetnsamples.c')
-rw-r--r--libavfilter/af_asetnsamples.c12
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;