From b56aca9b42411da444a0b267ea1dd183cbb4fbf7 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Sat, 22 Apr 2023 20:56:34 +0800 Subject: [PATCH] fftools/ffmpeg_mux: fix reporting muxer EOF as error Fix #10327. Signed-off-by: Zhao Zhili --- fftools/ffmpeg_mux.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c index a2e8873ad2..fddb783b00 100644 --- a/fftools/ffmpeg_mux.c +++ b/fftools/ffmpeg_mux.c @@ -214,9 +214,15 @@ 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 { + av_log(mux, AV_LOG_VERBOSE, "Muxer returned EOF\n"); + ret = 0; + break; + } + } else if (ret < 0) { av_log(mux, AV_LOG_ERROR, "Error muxing a packet\n"); break; }