Top |
Functions
Description
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()
.Functions
gst_gl_display_get_handle_type ()
GstGLDisplayType
gst_gl_display_get_handle_type (GstGLDisplay *display
);
Since: 1.4
gst_gl_display_filter_gl_api ()
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.
gst_gl_display_get_gl_api ()
GstGLAPI
gst_gl_display_get_gl_api (GstGLDisplay *display
);
see gst_gl_display_filter_gl_api()
for what the returned value represents
gst_gl_display_add_context ()
gboolean gst_gl_display_add_context (GstGLDisplay *display
,GstGLContext *context
);
Returns
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
gst_gl_display_get_gl_context_for_thread ()
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay *display
,GThread *thread
);
Returns
the GstGLContext current on thread
or NULL
Must be called with the object lock held.
[transfer full]
Since: 1.6
gst_gl_display_create_context ()
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.
Parameters
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
gst_gl_display_create_window ()
GstGLWindow *
gst_gl_display_create_window (GstGLDisplay *display
);
It requires the display's object lock to be held.
gst_gl_display_find_window ()
GstGLWindow * gst_gl_display_find_window (GstGLDisplay *display
,gpointer data
,GCompareFunc compare_func
);
Execute compare_func
over the list of windows stored by display
. The
first argment to compare_func
is the GstGLWindow being checked and the
second argument is data
.
Parameters
display |
||
data |
some data to pass to |
[closure] |
compare_func |
a comparison function to run. |
[scope call] |
Since: 1.12
gst_gl_display_remove_window ()
gboolean gst_gl_display_remove_window (GstGLDisplay *display
,GstGLWindow *window
);
Since: 1.12
gst_context_get_gl_display ()
gboolean gst_context_get_gl_display (GstContext *context
,GstGLDisplay **display
);
Since: 1.4
gst_context_set_gl_display ()
void gst_context_set_gl_display (GstContext *context
,GstGLDisplay *display
);
Sets display
on context
Since: 1.4
Types and Values
enum GstGLDisplayType
GstGLDisplay
typedef struct _GstGLDisplay GstGLDisplay;
The contents of a GstGLDisplay are private and should only be accessed through the provided API
Signal Details
The “create-context”
signal
GstGLContext* 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.
Parameters
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