| Top |
| GstGLDisplay * | gst_gl_display_new () |
| GstGLDisplayType | gst_gl_display_get_handle_type () |
| void | gst_gl_display_filter_gl_api () |
| GstGLAPI | gst_gl_display_get_gl_api () |
| gboolean | gst_gl_display_add_context () |
| GstGLContext * | gst_gl_display_get_gl_context_for_thread () |
| guintptr | gst_gl_display_get_handle () |
| gboolean | gst_gl_display_create_context () |
| gboolean | gst_context_get_gl_display () |
| void | gst_context_set_gl_display () |
GstGLDisplay represents a connection to the underlying windowing system. Elements are required to make use of GstContext to share and propogate a GstGLDisplay.
There are a number of environment variables that influence the choice of platform and window system specific functionality.
GST_GL_WINDOW influences the window system to use. Common values are 'x11', 'wayland', 'win32' or 'cocoa'.
GST_GL_PLATFORM influences the OpenGL platform to use. Common values are 'egl', 'glx', 'wgl' or 'cgl'.
GST_GL_API influences the OpenGL API requested by the OpenGL platform. Common values are 'opengl' and 'gles2'.
XInitThreads().GstGLDisplayType
gst_gl_display_get_handle_type (GstGLDisplay *display);
Since: 1.4
void gst_gl_display_filter_gl_api (GstGLDisplay *display,GstGLAPI gl_api);
limit the use of OpenGL to the requested gl_api
. This is intended to allow
application and elements to request a specific set of OpenGL API's based on
what they support. See gst_gl_context_get_gl_api() for the retreiving the
API supported by a GstGLContext.
GstGLAPI
gst_gl_display_get_gl_api (GstGLDisplay *display);
see gst_gl_display_filter_gl_api() for what the returned value represents
gboolean gst_gl_display_add_context (GstGLDisplay *display,GstGLContext *context);
whether context
was successfully added. FALSE may be returned
if there already exists another context for context
's active thread.
Must be called with the object lock held.
Since: 1.6
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay *display,GThread *thread);
the GstGLContext current on thread
or NULL
Must be called with the object lock held.
[transfer full]
Since: 1.6
gboolean gst_gl_display_create_context (GstGLDisplay *display,GstGLContext *other_context,GstGLContext **p_context,GError **error);
It requires the display's object lock to be held.
display |
||
other_context |
other GstGLContext to share resources with. |
[transfer none] |
p_context |
resulting GstGLContext. |
[transfer full][out] |
error |
resulting GError. |
[allow-none] |
Since: 1.6
gboolean gst_context_get_gl_display (GstContext *context,GstGLDisplay **display);
Since: 1.4
void gst_context_set_gl_display (GstContext *context,GstGLDisplay *display);
Sets display
on context
Since: 1.4
typedef struct _GstGLDisplay GstGLDisplay;
The contents of a GstGLDisplay are private and should only be accessed through the provided API
“create-context” signalGstGLContext* user_function (GstGLDisplay *object, GstGLContext *context, gpointer user_data)
Overrides the GstGLContext
creation mechanism.
It can be called in any thread and it is emitted with
display's object lock held.
object |
the GstGLDisplay |
|
context |
other context to share resources with. |
[transfer none] |
user_data |
user data set when the signal handler was connected. |
Flags: Run Last