From dec8139e65d8860ee0450abd58d6a8da56a675d7 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Sat, 23 May 2015 01:00:18 +1000 Subject: [PATCH] gl/calayer: provide the exact GL api version for the wrapped context Otherwise we could end up being mistaken for the diference between a gl3 and a gl2 context resulting in a failure getting the list of extensions from the wrapped context due to the difference between glGetString and glGetStringi for the GL_EXTENSIONS token. https://bugzilla.gnome.org/show_bug.cgi?id=749728 --- gst-libs/gst/gl/cocoa/gstglcaopengllayer.m | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m index 111bdb1f3a..8ba1e1b888 100644 --- a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m +++ b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m @@ -109,10 +109,15 @@ _context_ready (gpointer data) if (self->draw_context) gst_object_unref (self->draw_context); + if (kCGLNoError != CGLSetCurrentContext (self->gl_context)) { + GST_ERROR ("failed set cgl context %p current", self->gl_context); + return NULL; + } + display = gst_gl_context_get_display (GST_GL_CONTEXT (self->gst_gl_context)); self->draw_context = gst_gl_context_new_wrapped (display, (guintptr) self->gl_context, GST_GL_PLATFORM_CGL, - gst_gl_display_get_gl_api (display)); + gst_gl_context_get_current_gl_api (NULL, NULL)); gst_object_unref (display); if (!self->draw_context) { @@ -120,11 +125,6 @@ _context_ready (gpointer data) return NULL; } - if (kCGLNoError != CGLSetCurrentContext (self->gl_context)) { - GST_ERROR ("failed set cgl context %p current", self->gl_context); - return NULL; - } - gst_gl_context_activate (self->draw_context, TRUE); if (!gst_gl_context_fill_info (self->draw_context, &error)) { GST_ERROR ("failed to fill wrapped context information: %s", error->message);