diff mbox series

[FFmpeg-devel,1/2] fftools/ffmpeg_filter: don't forward EOF in close_output()

Message ID 20240309190123.8110-1-anton@khirnov.net
State Accepted
Commit 639208cc6adae159008e089f7d82f132720f7fc9
Headers show
Series [FFmpeg-devel,1/2] fftools/ffmpeg_filter: don't forward EOF in close_output() | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov March 9, 2024, 7:01 p.m. UTC
The caller does not need or expect it, and it can lead to terminating
filtering prematurely in case there is more than one output.
---
 fftools/ffmpeg_filter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 960393b943..7cd5415341 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,