From 373128348ded12ed02b09c23a8849466299975bb Mon Sep 17 00:00:00 2001 From: Kishi85 Date: Mon, 22 Jun 2026 20:25:32 +0200 Subject: [PATCH] fix(video): check encoder started up before trying to flush frames on destruction --- src/video.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video.cpp b/src/video.cpp index 0900d999de6..ae7050ab34b 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -318,8 +318,8 @@ namespace video { avcodec_encode_session_t(avcodec_encode_session_t &&other) noexcept = default; ~avcodec_encode_session_t() { - // Flush any remaining frames in the encoder - if (avcodec_send_frame(avcodec_ctx.get(), nullptr) == 0) { + // Flush any remaining frames in the encoder if the encoder started up (frame num > delay) + if (avcodec_ctx->frame_num > avcodec_ctx->delay && avcodec_send_frame(avcodec_ctx.get(), nullptr) == 0) { packet_raw_avcodec pkt; while (avcodec_receive_packet(avcodec_ctx.get(), pkt.av_packet) == 0); }