ffmpeg | branch: release/5.1 | Paul B Mahol <one...@gmail.com> | Fri Jul 14 
00:42:02 2023 +0200| [f6efc1e8aa53fc0a227aba66918489f88164bae5] | committer: 
Marton Balint

avfilter/split: fix EOF passing to inlink

(cherry picked from commit 374184a4dc16421ec6b182191898582d9275808a)

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

 libavfilter/split.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/libavfilter/split.c b/libavfilter/split.c
index 98b51f976e..2a511668e2 100644
--- a/libavfilter/split.c
+++ b/libavfilter/split.c
@@ -67,11 +67,15 @@ static int activate(AVFilterContext *ctx)
 {
     AVFilterLink *inlink = ctx->inputs[0];
     AVFrame *in;
-    int status, ret;
+    int status, ret, nb_eofs = 0;
     int64_t pts;
 
-    for (int i = 0; i < ctx->nb_outputs; i++) {
-        FF_FILTER_FORWARD_STATUS_BACK_ALL(ctx->outputs[i], ctx);
+    for (int i = 0; i < ctx->nb_outputs; i++)
+        nb_eofs += ff_outlink_get_status(ctx->outputs[i]) == AVERROR_EOF;
+
+    if (nb_eofs == ctx->nb_outputs) {
+        ff_inlink_set_status(inlink, AVERROR_EOF);
+        return 0;
     }
 
     ret = ff_inlink_consume_frame(inlink, &in);

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to