[FFmpeg-cvslog] fftools/ffmpeg_filter: don't forward EOF in close_output()

Anton Khirnov git at videolan.org
Tue Mar 12 10:49:31 EET 2024


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Mar  9 19:53:11 2024 +0100| [639208cc6adae159008e089f7d82f132720f7fc9] | committer: Anton Khirnov

fftools/ffmpeg_filter: don't forward EOF in close_output()

The caller does not need or expect it, and it can lead to terminating
filtering prematurely in case there is more than one output.

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

 fftools/ffmpeg_filter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 65574809bf..8134afebd7 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -2199,7 +2199,8 @@ static int close_output(OutputFilterPriv *ofp, FilterGraphThread *fgt)
 
     fgt->eof_out[ofp->index] = 1;
 
-    return sch_filter_send(fgp->sch, fgp->sch_idx, ofp->index, NULL);
+    ret = sch_filter_send(fgp->sch, fgp->sch_idx, ofp->index, NULL);
+    return (ret == AVERROR_EOF) ? 0 : ret;
 }
 
 static int fg_output_frame(OutputFilterPriv *ofp, FilterGraphThread *fgt,



More information about the ffmpeg-cvslog mailing list