From 8041d002715bc499655c28481ed6c0bc74edc1b9 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sun, 14 May 2023 13:57:07 +0200 Subject: [PATCH] avfilter/f_loop: fix looping for aloop --- libavfilter/f_loop.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c index 5a91a0cbe9..7974d266f0 100644 --- a/libavfilter/f_loop.c +++ b/libavfilter/f_loop.c @@ -248,7 +248,11 @@ static int aactivate(AVFilterContext *ctx) update_time(ctx, inlink->time_base); if (!s->eof && (s->nb_samples < s->size || !s->loop || !s->size)) { - ret = ff_inlink_consume_frame(inlink, &frame); + const int in_nb_samples = FFMIN(1024, s->size - s->nb_samples); + if (in_nb_samples == 0) + ret = ff_inlink_consume_frame(inlink, &frame); + else + ret = ff_inlink_consume_samples(inlink, in_nb_samples, in_nb_samples, &frame); if (ret < 0) return ret; if (ret > 0)