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);