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
2a88ebd096 and reported in ticket #8657.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-02-19 15:39:56 +01:00
parent 570fda56b9
commit 26cce232d7

View File

@ -2730,8 +2730,11 @@ static int read_interval_packets(WriterContext *w, InputFile *ifile,
//Flush remaining frames that are cached in the decoder //Flush remaining frames that are cached in the decoder
for (i = 0; i < fmt_ctx->nb_streams; i++) { for (i = 0; i < fmt_ctx->nb_streams; i++) {
pkt->stream_index = i; pkt->stream_index = i;
if (do_read_frames) if (do_read_frames) {
while (process_frame(w, ifile, frame, pkt, &(int){1}) > 0); 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: end: