From 5d499d32505be79f1cc7608106f01fee84c91085 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 9 Aug 2022 15:01:33 +0200 Subject: fftools/ffmpeg: mark all encode sync queues as done before flushing encoders --- fftools/ffmpeg.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 0682a6fcc5..16b1ba8af7 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1780,6 +1780,13 @@ static void flush_encoders(void) { int i, ret; + for (i = 0; i < nb_output_streams; i++) { + OutputStream *ost = output_streams[i]; + OutputFile *of = output_files[ost->file_index]; + if (ost->sq_idx_encode >= 0) + sq_send(of->sq_encode, ost->sq_idx_encode, SQFRAME(NULL)); + } + for (i = 0; i < nb_output_streams; i++) { OutputStream *ost = output_streams[i]; AVCodecContext *enc = ost->enc_ctx; -- cgit v1.2.3