qt/gloverlay: reset current OpenGL context after Qt

Qt may replace the drawable with its own which breaks output if Qt is
not displaying the resulting video as used with e.g. glimagesink.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/623>
This commit is contained in:
Matthew Waters 2020-06-12 12:16:49 +10:00 committed by GStreamer Merge Bot
parent 556e7ab210
commit ffe4d09efc

View file

@ -636,6 +636,12 @@ void GstQuickRenderer::initializeGstGL ()
m_sharedRenderData->m_animationDriver->install();
}
g_mutex_unlock (&m_sharedRenderData->lock);
/* XXX: reset the OpenGL context drawable as Qt may have clobbered it.
* Fixes glimagesink output where Qt replaces the Surface to use in its
* own MakeCurrent call. Qt does this on it's OpenGL initialisation
* the the rendering engine. */
gst_gl_context_activate (gl_context, FALSE);
gst_gl_context_activate (gl_context, TRUE);
}
void GstQuickRenderer::initializeQml()