[FFmpeg-devel] [PATCH 1/2] fftools/ffmpeg_filter: don't forward EOF in close_output()
Anton Khirnov
anton at khirnov.net
Sat Mar 9 21:01:22 EET 2024
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 --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,
--
2.43.0
More information about the ffmpeg-devel
mailing list