From 1df0da4d4a5a847f1966a9761679f73a9697d6ca Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 14 Sep 2023 18:21:53 -0500 Subject: [PATCH] Also use test frame decoding parameters when creating a test renderer --- app/streaming/video/ffmpeg-renderers/renderer.h | 1 + app/streaming/video/ffmpeg.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/streaming/video/ffmpeg-renderers/renderer.h b/app/streaming/video/ffmpeg-renderers/renderer.h index 9a71018d..f46d9793 100644 --- a/app/streaming/video/ffmpeg-renderers/renderer.h +++ b/app/streaming/video/ffmpeg-renderers/renderer.h @@ -138,6 +138,7 @@ public: return true; } + // NOTE: This can be called BEFORE initialize()! virtual bool needsTestFrame() { // No test frame required by default return false; diff --git a/app/streaming/video/ffmpeg.cpp b/app/streaming/video/ffmpeg.cpp index 619917b7..0fac812f 100644 --- a/app/streaming/video/ffmpeg.cpp +++ b/app/streaming/video/ffmpeg.cpp @@ -820,8 +820,8 @@ bool FFmpegVideoDecoder::tryInitializeRenderer(const AVCodec* decoder, #endif SDL_assert(m_BackendRenderer == nullptr); if ((m_BackendRenderer = createRendererFunc()) != nullptr && - m_BackendRenderer->initialize(m_BackendRenderer->needsTestFrame() ? &testFrameDecoderParams : params) && - completeInitialization(decoder, m_BackendRenderer->needsTestFrame() ? &testFrameDecoderParams : params, m_TestOnly || m_BackendRenderer->needsTestFrame(), i == 0 /* EGL/DRM */)) { + m_BackendRenderer->initialize((m_TestOnly || m_BackendRenderer->needsTestFrame()) ? &testFrameDecoderParams : params) && + completeInitialization(decoder, (m_TestOnly || m_BackendRenderer->needsTestFrame()) ? &testFrameDecoderParams : params, m_TestOnly || m_BackendRenderer->needsTestFrame(), i == 0 /* EGL/DRM */)) { if (m_TestOnly) { // This decoder is only for testing capabilities, so don't bother // creating a usable renderer