diff options
author | Anton Khirnov <anton@khirnov.net> | 2022-10-18 13:37:25 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-03-28 13:00:42 +0200 |
commit | 992e984fa86ed4447082be4915996908b6acf3b5 (patch) | |
tree | 21bee22c3a3f5e2a0723f1235e42af62bed4788a | |
parent | 9bf1848acfb7cbdb7f8dcaa07649467dfb3cec7b (diff) | |
download | ffmpeg-992e984fa86ed4447082be4915996908b6acf3b5.tar.gz |
tools/decode_simple: always call process_frame(NULL) at the end
Currently this would not be done if max_frames is triggered.
Makes no difference in either of the tools currently using
decode_simple, but may be important in future tools.
-rw-r--r-- | tools/decode_simple.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/decode_simple.c b/tools/decode_simple.c index e02323064d..8a9e7c5f71 100644 --- a/tools/decode_simple.c +++ b/tools/decode_simple.c @@ -73,7 +73,7 @@ int ds_run(DecodeContext *dc) while (ret >= 0) { ret = av_read_frame(dc->demuxer, dc->pkt); if (ret < 0) - goto flush; + break; if (dc->pkt->stream_index != dc->stream->index) { av_packet_unref(dc->pkt); continue; @@ -91,10 +91,9 @@ int ds_run(DecodeContext *dc) fprintf(stderr, "Error decoding: %d\n", ret); return ret; } else if (ret > 0) - return 0; + goto finish; } -flush: avcodec_send_packet(dc->decoder, NULL); ret = decode_read(dc, 1); if (ret < 0) { @@ -102,7 +101,8 @@ flush: return ret; } - return 0; +finish: + return dc->process_frame(dc, NULL); } void ds_free(DecodeContext *dc) |