From 1fcd30687977ddec1ef29fd103b85442404211cb Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 15 May 2020 20:01:22 -0700 Subject: [PATCH] Fix EGLRenderer when SDL isn't built with X11 or Wayland backends --- app/streaming/video/ffmpeg-renderers/eglvid.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/streaming/video/ffmpeg-renderers/eglvid.cpp b/app/streaming/video/ffmpeg-renderers/eglvid.cpp index 5a26a9b1..d7a71400 100644 --- a/app/streaming/video/ffmpeg-renderers/eglvid.cpp +++ b/app/streaming/video/ffmpeg-renderers/eglvid.cpp @@ -15,6 +15,14 @@ #include #include +// These are EGL extensions, so some platform headers may not provide them +#ifndef EGL_PLATFORM_WAYLAND_KHR +#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 +#endif +#ifndef EGL_PLATFORM_X11_KHR +#define EGL_PLATFORM_X11_KHR 0x31D5 +#endif + /* TODO: * - handle more pixel formats * - handle software decoding @@ -235,14 +243,18 @@ bool EGLRenderer::initialize(PDECODER_PARAMETERS params) return false; } switch (info.subsystem) { +#ifdef SDL_VIDEO_DRIVER_WAYLAND case SDL_SYSWM_WAYLAND: m_EGLDisplay = eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_KHR, info.info.wl.display, nullptr); break; +#endif +#ifdef SDL_VIDEO_DRIVER_X11 case SDL_SYSWM_X11: m_EGLDisplay = eglGetPlatformDisplay(EGL_PLATFORM_X11_KHR, info.info.x11.display, nullptr); break; +#endif default: EGL_LOG(Error, "not compatible with SYSWM"); return false;