Pass the correct renderer to EGLImageFactory

We should be using the EGL renderer's colorspace and color range
rather than the backend renderer's for fallbacks. The former is
what actually gets passed to the host PC during stream init.
This commit is contained in:
Cameron Gutman
2026-08-06 00:29:53 -05:00
parent c1623ff44e
commit 7cf8b46c79
8 changed files with 28 additions and 18 deletions
@@ -26,8 +26,7 @@ VAAPIRenderer::VAAPIRenderer(int decoderSelectionPass)
m_RequiresExplicitPixelFormat(false),
m_OverlayMutex(nullptr)
#ifdef HAVE_EGL
, m_EglExportType(EglExportType::Unknown),
m_EglImageFactory(this)
, m_EglExportType(EglExportType::Unknown)
#endif
{
#ifdef HAVE_LIBVA_X11
@@ -1082,11 +1081,12 @@ AVPixelFormat VAAPIRenderer::getEGLImagePixelFormat() {
}
bool
VAAPIRenderer::initializeEGL(EGLDisplay dpy,
VAAPIRenderer::initializeEGL(IFFmpegRenderer* eglRenderer,
EGLDisplay dpy,
const EGLExtensions &ext) {
VADRMPRIMESurfaceDescriptor descriptor;
if (!m_EglImageFactory.initializeEGL(dpy, ext)) {
if (!m_EglImageFactory.initializeEGL(eglRenderer, dpy, ext)) {
return false;
}