diff mbox series

[FFmpeg-devel,07/25] avfilter/af_headphone: Combine several loops when checking for EOF

Message ID 20200908211856.16290-7-andreas.rheinhardt@gmail.com
State Accepted
Commit a84c77396bf17dc12925f1c5e25851df55660162
Headers show
Series [FFmpeg-devel,01/25] avfilter/af_headphone: Don't use uninitialized buffer in log message | expand

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Andreas Rheinhardt Sept. 8, 2020, 9:18 p.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavfilter/af_headphone.c | 24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)
diff mbox series

Patch

diff --git a/libavfilter/af_headphone.c b/libavfilter/af_headphone.c
index 42adc82df8..c71f43c5c8 100644
--- a/libavfilter/af_headphone.c
+++ b/libavfilter/af_headphone.c
@@ -633,6 +633,7 @@  static int activate(AVFilterContext *ctx)
 
     FF_FILTER_FORWARD_STATUS_BACK_ALL(ctx->outputs[0], ctx);
     if (!s->eof_hrirs) {
+        int eof = 1;
         for (i = 1; i < s->nb_inputs; i++) {
             if (s->in[i].eof)
                 continue;
@@ -647,26 +648,15 @@  static int activate(AVFilterContext *ctx)
                     return AVERROR_INVALIDDATA;
                 }
                     s->in[i].eof = 1;
+            } else {
+                if (ff_outlink_frame_wanted(ctx->outputs[0]))
+                    ff_inlink_request_frame(ctx->inputs[i]);
+                eof = 0;
             }
         }
-
-        for (i = 1; i < s->nb_inputs; i++) {
-            if (!s->in[i].eof)
-                break;
-        }
-
-        if (i != s->nb_inputs) {
-            if (ff_outlink_frame_wanted(ctx->outputs[0])) {
-                for (i = 1; i < s->nb_inputs; i++) {
-                    if (!s->in[i].eof)
-                        ff_inlink_request_frame(ctx->inputs[i]);
-                }
-            }
-
+        if (!eof)
             return 0;
-        } else {
-            s->eof_hrirs = 1;
-        }
+        s->eof_hrirs = 1;
     }
 
     if (!s->have_hrirs && s->eof_hrirs) {