[FFmpeg-devel] [PATCH v2] fftools/ffmpeg_mux: fix reporting muxer EOF as error

Anton Khirnov anton at khirnov.net
Sat Apr 22 18:44:08 EEST 2023


Quoting Zhao Zhili (2023-04-22 14:56:34)
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> Fix #10327.
> 
> Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> ---
>  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..0e1a5d7dc5 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 %s\n", av_err2str(ret));

That seems unnecesarily convoluted, given that we _know_ the error to be
EOF here. Also, please make it "Muxer returned EOF" to make it clear
what exactly is the source of EOF.

Otherwise ok, feel free to push with this change.

Thanks.
-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list