#if GST_GL_HAVE_WINDOW_X11 && defined (GDK_WINDOWING_X11)
if (GST_IS_GL_DISPLAY_X11 (priv->display)) {
platform = GST_GL_PLATFORM_GLX;
- gl_api = gst_gl_context_get_current_gl_api (NULL, NULL);
+ gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
gl_handle = gst_gl_context_get_current_gl_context (platform);
if (gl_handle)
priv->other_context =
#if GST_GL_HAVE_WINDOW_WAYLAND && defined (GDK_WINDOWING_WAYLAND)
if (GST_IS_GL_DISPLAY_WAYLAND (priv->display)) {
platform = GST_GL_PLATFORM_EGL;
- gl_api = gst_gl_context_get_current_gl_api (NULL, NULL);
+ gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
gl_handle = gst_gl_context_get_current_gl_context (platform);
if (gl_handle)
priv->other_context =
#if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
if (GST_IS_GL_DISPLAY_X11 (this->priv->display)) {
platform = GST_GL_PLATFORM_GLX;
- gl_api = gst_gl_context_get_current_gl_api (NULL, NULL);
+ gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
gl_handle = gst_gl_context_get_current_gl_context (platform);
if (gl_handle)
this->priv->other_context =
#if GST_GL_HAVE_WINDOW_WAYLAND
if (GST_IS_GL_DISPLAY_WAYLAND (this->priv->display)) {
platform = GST_GL_PLATFORM_EGL;
- gl_api = gst_gl_context_get_current_gl_api (NULL, NULL);
+ gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
gl_handle = gst_gl_context_get_current_gl_context (platform);
if (gl_handle)
this->priv->other_context =
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_context_get_current_gl_api (NULL, NULL));
+ gst_gl_context_get_current_gl_api (GST_GL_PLATFORM_CGL, NULL, NULL));
gst_object_unref (display);
if (!self->draw_context) {
if (context_type == GST_GL_PLATFORM_CGL) {
context_class->get_current_context =
gst_gl_context_cocoa_get_current_context;
- context_class->get_proc_address = _default_get_proc_address;
+ context_class->get_proc_address = gst_gl_context_default_get_proc_address;
}
#endif
#if GST_GL_HAVE_PLATFORM_WGL
if (context_type == GST_GL_PLATFORM_EAGL) {
context_class->get_current_context =
gst_gl_context_eagl_get_current_context;
- context_class->get_proc_address = _default_get_proc_address;
+ context_class->get_proc_address = gst_gl_context_default_get_proc_address;
}
#endif
/**
* gst_gl_context_get_current_gl_api:
+ * @platform: the #GstGLPlatform to retreive the API for
* @major: (out): (allow-none): the major version
* @minor: (out): (allow-none): the minor version
*
* Since: 1.6
*/
GstGLAPI
-gst_gl_context_get_current_gl_api (guint * major, guint * minor)
+gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint * major,
+ guint * minor)
{
const GLubyte *(*GetString) (GLenum name);
#if GST_GL_HAVE_OPENGL
while (ret != GST_GL_API_NONE) {
/* FIXME: attempt to delve into the platform specific GetProcAddress */
- GetString = gst_gl_context_default_get_proc_address (ret, "glGetString");
+ GetString =
+ gst_gl_context_get_proc_address_with_platform (platform, ret,
+ "glGetString");
#if GST_GL_HAVE_OPENGL
GetIntegerv =
- gst_gl_context_default_get_proc_address (ret, "glGetIntegerv");
+ gst_gl_context_get_proc_address_with_platform (platform, ret,
+ "glGetIntegerv");
#endif
if (!GetString) {
goto next;
gboolean gst_gl_context_check_feature (GstGLContext *context, const gchar *feature);
guintptr gst_gl_context_get_current_gl_context (GstGLPlatform platform);
-GstGLAPI gst_gl_context_get_current_gl_api (guint *major, guint *minor);
+GstGLAPI gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint *major, guint *minor);
gboolean gst_gl_context_fill_info (GstGLContext * context, GError ** error);
_fill_context_info (GstGLContext * context, struct context_info *info)
{
info->handle = gst_gl_context_get_current_gl_context (info->platform);
- info->api = gst_gl_context_get_current_gl_api (&info->major, &info->minor);
+ info->api =
+ gst_gl_context_get_current_gl_api (info->platform, &info->major,
+ &info->minor);
}
GST_START_TEST (test_current_context)