From 992e984fa86ed4447082be4915996908b6acf3b5 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 18 Oct 2022 13:37:25 +0200 Subject: [PATCH] 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. --- tools/decode_simple.c | 8 ++++---- 1 file 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)