[FFmpeg-devel] [PATCH] fftools/ffmpeg_mux: fix regression with muxer EOF
Anton Khirnov
anton at khirnov.net
Sat Apr 22 15:16:17 EEST 2023
Quoting Zhao Zhili (2023-04-21 18:58:09)
> From: Zhao Zhili <zhilizhao at tencent.com>
>
> Regression introduced by b40856.
>
> Fix #10327.
The commit message is entirely useless, it tells the reader nothing
about what the problem is or how it is fixed.
> ---
> 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;
All the other exit paths from the loop have a log message saying why it
happened, this one should as well.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list