[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