> 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