On Tue, Sep 2, 2025 at 6:13 PM Zhao Zhili via ffmpeg-devel
<ffmpeg-devel@ffmpeg.org> wrote:
>
> PR #20396 opened by Zhao Zhili (quink)
> URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20396
> Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20396.patch
>
> Firstly, the order of the parameters to fwrite was incorrect, which
> make fwrite always return 1 or 0.
>
> Secondly, enc_pkt->size is 0 after av_packet_unref, which makes
> the check invalid again.
>
> Fix regression from 3e4bfff2.
>
> Co-Authored-by: Jin Bo <ji...@loongson.cn>
> Signed-off-by: Zhao Zhili <zhiliz...@tencent.com>
>
>
> >From 5147580520ad627ffbae692119c4e92a7c489c76 Mon Sep 17 00:00:00 2001
> From: Zhao Zhili <zhiliz...@tencent.com>
> Date: Tue, 2 Sep 2025 18:04:11 +0800
> Subject: [PATCH] doc/examples/vaapi_encode: fix invalid check on fwrite
>
> Firstly, the order of the parameters to fwrite was incorrect, which
> make fwrite always return 1 or 0.
>
> Secondly, enc_pkt->size is 0 after av_packet_unref, which makes
> the check invalid again.
>
> Fix regression from 3e4bfff2.
>
> Co-Authored-by: Jin Bo <ji...@loongson.cn>
> Signed-off-by: Zhao Zhili <zhiliz...@tencent.com>
> ---
>  doc/examples/vaapi_encode.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/doc/examples/vaapi_encode.c b/doc/examples/vaapi_encode.c
> index ff3ebb1e2b..3d718c4c4f 100644
> --- a/doc/examples/vaapi_encode.c
> +++ b/doc/examples/vaapi_encode.c
> @@ -86,9 +86,10 @@ static int encode_write(AVCodecContext *avctx, AVFrame 
> *frame, FILE *fout)
>              break;
>
>          enc_pkt->stream_index = 0;
> -        ret = fwrite(enc_pkt->data, enc_pkt->size, 1, fout);
> +        int size = enc_pkt->size;
> +        ret = fwrite(enc_pkt->data, 1, size, fout);
>          av_packet_unref(enc_pkt);
> -        if (ret != enc_pkt->size) {
I think only fixing the part that checks the return value should ok,I
having looked at the original code, it was simply intended to write a
single NALU at once.
> +        if (ret != size) {
>              ret = AVERROR(errno);
>              break;
>          }
> --
> 2.49.1
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-le...@ffmpeg.org

Reply via email to