summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-08-28 14:49:49 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-09 13:46:18 +0200
commita84c77396bf17dc12925f1c5e25851df55660162 (patch)
treea6faf06d8b8c53a1f0b5b8ca435c79f0f536c41c /libavfilter
parent58b6594b01e37ebf3daa2cb66183287a1f1b0a78 (diff)
avfilter/af_headphone: Combine several loops when checking for EOF
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/af_headphone.c24
1 files changed, 7 insertions, 17 deletions
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) {