[FFmpeg-cvslog] avfilter/af_asetnsamples: fix excessive frames queueing at start

Paul B Mahol git at videolan.org
Tue Apr 12 20:30:21 EEST 2022


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Apr 12 16:41:17 2022 +0200| [25cd1845ab4c16810f847929c22984dc704569c8] | committer: Paul B Mahol

avfilter/af_asetnsamples: fix excessive frames queueing at start

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

 libavfilter/af_asetnsamples.c | 12 ++++++------
 1 file 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;



More information about the ffmpeg-cvslog mailing list