On Wed, Sep 3, 2025 at 2:45 PM Zhao Zhili <quinkbl...@foxmail.com> wrote:

>
>
> On Sep 3, 2025, at 11:30, mypopy--- via ffmpeg-devel <
> ffmpeg-devel@ffmpeg.org> wrote:
>
> 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.
>
>
> Fixed by
> if (!ret) {
> ret = AVERROR(errno);
> break;
> }
>
Looks good to me,thx

>
> +        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
>
>
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-le...@ffmpeg.org

Reply via email to