[FFmpeg-cvslog] avfilter/f_loop: fix looping for aloop

Paul B Mahol git at videolan.org
Sun May 14 22:00:59 EEST 2023


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun May 14 13:57:07 2023 +0200| [8041d002715bc499655c28481ed6c0bc74edc1b9] | committer: Paul B Mahol

avfilter/f_loop: fix looping for aloop

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8041d002715bc499655c28481ed6c0bc74edc1b9
---

 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)



More information about the ffmpeg-cvslog mailing list