> 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 <mailto: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;
        }

>> +        if (ret != size) {
>>             ret = AVERROR(errno);
>>             break;
>>         }
>> --
>> 2.49.1
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org 
> <mailto:ffmpeg-devel@ffmpeg.org>
> To unsubscribe send an email to ffmpeg-devel-le...@ffmpeg.org 
> <mailto: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