diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-02-19 15:39:56 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-02-23 11:50:48 +0100 |
commit | 26cce232d7eb6bb07e6fb2883d4c52c9edf3e3d9 (patch) | |
tree | 3d791e541ad15f5c7b9a12415700a82428200d46 /fftools/ffprobe.c | |
parent | 570fda56b9195bb0b13969b5fa7e9bcf363380eb (diff) |
fftools/ffprobe: Flush decoder after draining
This is a prerequisite to continue using the decoder at all
to decode the next interval (if any).
This fixes a regression introduced in commit
2a88ebd096f3c748a2d99ed1b60b22879b3c567c and reported in ticket #8657.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'fftools/ffprobe.c')
-rw-r--r-- | fftools/ffprobe.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 8a8e3de540..4205ddedda 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2730,8 +2730,11 @@ static int read_interval_packets(WriterContext *w, InputFile *ifile, //Flush remaining frames that are cached in the decoder for (i = 0; i < fmt_ctx->nb_streams; i++) { pkt->stream_index = i; - if (do_read_frames) + if (do_read_frames) { while (process_frame(w, ifile, frame, pkt, &(int){1}) > 0); + if (ifile->streams[i].dec_ctx) + avcodec_flush_buffers(ifile->streams[i].dec_ctx); + } } end: |