Top | ![]() |
![]() |
![]() |
![]() |
GstGLContext wraps an OpenGL context object in a uniform API. As a result of the limitation on OpenGL context, this object is not thread safe unless specified and must only be activated in a single thread.
void (*GstGLContextThreadFunc) (GstGLContext *context
,gpointer data
);
Represents a function to run in the GL thread with context
and data
GstGLContext *
gst_gl_context_new (GstGLDisplay *display
);
Create a new GstGLContext with the specified display
gboolean gst_gl_context_create (GstGLContext *context
,GstGLContext *other_context
,GError **error
);
Creates an OpenGL context in the current thread with the specified
other_context
as a context to share shareable OpenGL objects with. See the
OpenGL specification for what is shared between contexts.
If an error occurs, and error
is not NULL
, then error will contain details
of the error and FALSE
will be returned.
Should only be called once.
context |
a GstGLContext: |
|
other_context |
a GstGLContext to share OpenGL objects with. |
[allow-none] |
error |
a GError. |
[allow-none] |
gboolean gst_gl_context_activate (GstGLContext *context
,gboolean activate
);
(De)activate the OpenGL context represented by this context
.
In OpenGL terms, calls eglMakeCurrent or similar with this context and the
currently set window. See gst_gl_context_set_window()
for details.
gpointer gst_gl_context_default_get_proc_address (GstGLContext *context
,const gchar *name
);
gpointer gst_gl_context_get_proc_address (GstGLContext *context
,const gchar *name
);
Get a function pointer to a specified opengl function, name
. If the the
specific function does not exist, NULL is returned instead.
Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also be retreived using this method.
gboolean gst_gl_context_set_window (GstGLContext *context
,GstGLWindow *window
);
Set's the current window on context
to window
. The window can only be
changed before gst_gl_context_create()
has been called and the window
is not
already running.
void gst_gl_context_thread_add (GstGLContext *context
,GstGLContextThreadFunc func
,gpointer data
);
Execute func
in the OpenGL thread of context
with data
MT-safe
GstGLAPI
gst_gl_context_get_gl_api (GstGLContext *context
);
Get the currently enabled OpenGL api.
The currently available API may be limited by the GstGLDisplay in use and/or the GstGLWindow chosen.
guintptr
gst_gl_context_get_gl_context (GstGLContext *context
);
Gets the backing OpenGL context used by context
.