From e8b0cfd085163ae4d9ddf6edc941e68da1660430 Mon Sep 17 00:00:00 2001 From: NDrLEUxcwQsgKUWlrFELocR1z7QP <54683950+maxnut@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:15:18 +0100 Subject: [PATCH] pixel format error check --- src/recorder.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/recorder.cpp b/src/recorder.cpp index 035b4e4..43f3e6c 100644 --- a/src/recorder.cpp +++ b/src/recorder.cpp @@ -68,6 +68,9 @@ geode::Result<> Recorder::init(const RenderSettings& settings) { m_codecContext->pix_fmt = AV_PIX_FMT_NONE; m_videoStream->time_base = m_codecContext->time_base; + if(!m_codecContext->pix_fmt) + return geode::Err("Codec does not have any supported pixel formats."); + if (const AVPixelFormat *pix_fmt = m_codec->pix_fmts) { while (*pix_fmt != AV_PIX_FMT_NONE) { if(*pix_fmt == static_cast(settings.m_pixelFormat)) @@ -75,7 +78,6 @@ geode::Result<> Recorder::init(const RenderSettings& settings) { ++pix_fmt; } } - if(m_codecContext->pix_fmt == AV_PIX_FMT_NONE) { geode::log::info("Codec {} does not support pixel format, defaulting to codec's format", settings.m_codec); m_codecContext->pix_fmt = m_codec->pix_fmts[0];