> On Apr 11, 2022, at 5:12 PM, zhilizhao(赵志立) <quinkbl...@foxmail.com> wrote: > > Ping. The same kind of issue like `doc/examples/transcode_aac: Don't ignore > last encoded frame. > > https://patchwork.ffmpeg.org/project/ffmpeg/patch/8fd28808-07f8-9458-b032-8792c67a3...@gmail.com/
Will apply this weekend unless there are objections. > >> On Jul 14, 2021, at 11:02 AM, Zhao Zhili <quinkbl...@foxmail.com> wrote: >> >> --- >> v4: break when error occured in fread, fix infinite loop introduced by v3 >> v3: check EOF by "eof = !data_size && feof(f);" >> >> doc/examples/decode_video.c | 12 ++++++++---- >> 1 file changed, 8 insertions(+), 4 deletions(-) >> >> diff --git a/doc/examples/decode_video.c b/doc/examples/decode_video.c >> index 18ee90a6c0..7238e38103 100644 >> --- a/doc/examples/decode_video.c >> +++ b/doc/examples/decode_video.c >> @@ -92,6 +92,7 @@ int main(int argc, char **argv) >> uint8_t *data; >> size_t data_size; >> int ret; >> + int eof; >> AVPacket *pkt; >> >> if (argc <= 2) { >> @@ -150,15 +151,16 @@ int main(int argc, char **argv) >> exit(1); >> } >> >> - while (!feof(f)) { >> + do { >> /* read raw data from the input file */ >> data_size = fread(inbuf, 1, INBUF_SIZE, f); >> - if (!data_size) >> + if (ferror(f)) >> break; >> + eof = !data_size; >> >> /* use the parser to split the data into frames */ >> data = inbuf; >> - while (data_size > 0) { >> + while (data_size > 0 || eof) { >> ret = av_parser_parse2(parser, c, &pkt->data, &pkt->size, >> data, data_size, AV_NOPTS_VALUE, >> AV_NOPTS_VALUE, 0); >> if (ret < 0) { >> @@ -170,8 +172,10 @@ int main(int argc, char **argv) >> >> if (pkt->size) >> decode(c, frame, pkt, outfilename); >> + else if (eof) >> + break; >> } >> - } >> + } while (!eof); >> >> /* flush the decoder */ >> decode(c, frame, NULL, outfilename); >> -- >> 2.31.1 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".