[FFmpeg-cvslog] fftools/ffmpeg_mux: fix reporting muxer EOF as error
Zhao Zhili
git at videolan.org
Sun Apr 23 10:19:20 EEST 2023
ffmpeg | branch: master | Zhao Zhili <zhilizhao at tencent.com> | Sat Apr 22 20:56:34 2023 +0800| [b56aca9b42411da444a0b267ea1dd183cbb4fbf7] | committer: Zhao Zhili
fftools/ffmpeg_mux: fix reporting muxer EOF as error
Fix #10327.
Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b56aca9b42411da444a0b267ea1dd183cbb4fbf7
---
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;
}
More information about the ffmpeg-cvslog
mailing list