diff --git a/app/streaming/video/ffmpeg-renderers/eglvid.cpp b/app/streaming/video/ffmpeg-renderers/eglvid.cpp index 085b1845..8ad0fee3 100644 --- a/app/streaming/video/ffmpeg-renderers/eglvid.cpp +++ b/app/streaming/video/ffmpeg-renderers/eglvid.cpp @@ -182,6 +182,16 @@ bool EGLRenderer::initialize(PDECODER_PARAMETERS params) return false; } + // It's not safe to attempt to opportunistically create a GLES2 + // renderer prior to 2.0.10. If GLES2 isn't available, SDL will + // attempt to dereference a null pointer and crash Moonlight. + // https://bugzilla.libsdl.org/show_bug.cgi?id=4350 + // https://hg.libsdl.org/SDL/rev/84618d571795 + if (!SDL_VERSION_ATLEAST(2, 0, 10)) { + EGL_LOG(Error, "Not supported until SDL 2.0.10"); + return false; + } + /* * Create a dummy renderer in order to craft an accelerated SDL Window. * Request opengl ES 3.0 context, otherwise it will SIGSEGV