From b295ec31f351d8cc2dfad6f7c0cb261c1b19b7d9 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 7 Jul 2023 09:29:58 +0200 Subject: [PATCH] fftools/ffmpeg_filter: only flush vsync code if encoding actually started Otherwise this has no effect. Will be useful in following commits. --- fftools/ffmpeg_filter.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 1b51ed55bd..1ca9728390 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1754,10 +1754,10 @@ int reap_filters(int flush) if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) { av_log(fgp, AV_LOG_WARNING, "Error in av_buffersink_get_frame_flags(): %s\n", av_err2str(ret)); - } else if (flush && ret == AVERROR_EOF) { - if (av_buffersink_get_type(filter) == AVMEDIA_TYPE_VIDEO) - enc_frame(ost, NULL); - } + } else if (flush && ret == AVERROR_EOF && ofp->got_frame && + av_buffersink_get_type(filter) == AVMEDIA_TYPE_VIDEO) + enc_frame(ost, NULL); + break; } if (ost->finished) {