[FFmpeg-devel] [PATCH] fftools/ffmpeg_mux: fix regression with muxer EOF
Zhao Zhili
quinkblack at foxmail.com
Fri Apr 21 19:58:09 EEST 2023
From: Zhao Zhili <zhilizhao at tencent.com>
Regression introduced by b40856.
Fix #10327.
---
fftools/ffmpeg_mux.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c
index a2e8873ad2..b4b4dab8fd 100644
--- a/fftools/ffmpeg_mux.c
+++ b/fftools/ffmpeg_mux.c
@@ -214,9 +214,14 @@ static void *muxer_thread(void *arg)
ost = of->streams[stream_idx];
ret = sync_queue_process(mux, ost, ret < 0 ? NULL : pkt, &stream_eof);
av_packet_unref(pkt);
- if (ret == AVERROR_EOF && stream_eof)
- tq_receive_finish(mux->tq, stream_idx);
- else if (ret < 0) {
+ if (ret == AVERROR_EOF) {
+ if (stream_eof) {
+ tq_receive_finish(mux->tq, stream_idx);
+ } else {
+ ret = 0;
+ break;
+ }
+ } else if (ret < 0) {
av_log(mux, AV_LOG_ERROR, "Error muxing a packet\n");
break;
}
--
2.25.1
More information about the ffmpeg-devel
mailing list