![]() |
![]() |
![]() |
GStreamer Bad Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Signals |
#define GST_GL_DISPLAY_CONTEXT_TYPE enum GstGLDisplayType; GstGLDisplay; GstGLDisplay * gst_gl_display_new (void
); GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay *display
); void gst_gl_display_filter_gl_api (GstGLDisplay *display
,GstGLAPI gl_api
); GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay *display
); gboolean gst_gl_display_add_context (GstGLDisplay *display
,GstGLContext *context
); GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay *display
,GThread *thread
); guintptr gst_gl_display_get_handle (GstGLDisplay *display
); gboolean gst_gl_display_create_context (GstGLDisplay *display
,GstGLContext *other_context
,GstGLContext **p_context
,GError **error
); gboolean gst_context_get_gl_display (GstContext *context
,GstGLDisplay **display
); void gst_context_set_gl_display (GstContext *context
,GstGLDisplay *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()
.
typedef enum { GST_GL_DISPLAY_TYPE_NONE = 0, GST_GL_DISPLAY_TYPE_X11 = (1 << 0), GST_GL_DISPLAY_TYPE_WAYLAND = (1 << 1), GST_GL_DISPLAY_TYPE_COCOA = (1 << 2), GST_GL_DISPLAY_TYPE_WIN32 = (1 << 3), GST_GL_DISPLAY_TYPE_DISPMANX = (1 << 4), GST_GL_DISPLAY_TYPE_EGL = (1 << 5), GST_GL_DISPLAY_TYPE_ANY = G_MAXUINT32 } GstGLDisplayType;
no display type | |
X11 display | |
Wayland display | |
Cocoa display | |
Win32 display | |
Dispmanx display | |
EGL display | |
any display type |
typedef struct _GstGLDisplay GstGLDisplay;
The contents of a GstGLDisplay are private and should only be accessed through the provided API
GstGLDisplay * gst_gl_display_new (void
);
Returns : |
a new GstGLDisplay. [transfer full] |
Since 1.4
GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay *display
);
|
a GstGLDisplay |
Returns : |
the GstGLDisplayType of 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.
|
a GstGLDisplay |
|
a GstGLAPI to filter with |
GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay *display
);
see gst_gl_display_filter_gl_api()
for what the returned value represents
|
a GstGLDisplay |
Returns : |
the GstGLAPI configured for display
|
gboolean gst_gl_display_add_context (GstGLDisplay *display
,GstGLContext *context
);
|
a GstGLDisplay |
|
a GstGLContext. [transfer none] |
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
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay *display
,GThread *thread
);
|
a GstGLDisplay |
|
a GThread |
Returns : |
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.
|
a GstGLDisplay |
|
other GstGLContext to share resources with. |
|
resulting GstGLContext |
|
resulting GError |
Returns : |
whether a new context could be created. |
Since 1.6
gboolean gst_context_get_gl_display (GstContext *context
,GstGLDisplay **display
);
|
a GstContext |
|
resulting GstGLDisplay |
Returns : |
Whether display was in context
|
Since 1.4
void gst_context_set_gl_display (GstContext *context
,GstGLDisplay *display
);
Sets display
on context
|
a GstContext |
|
resulting GstGLDisplay |
Since 1.4
"create-context"
signalGstGLContext* user_function (GstGLDisplay *object,
GstGLContext *context,
gpointer user_data) : Run Last
Overrides the GstGLContext
creation mechanism.
It can be called in any thread and it is emitted with
display's object lock held.
|
the GstGLDisplay |
|
other context to share resources with. |
|
user data set when the signal handler was connected. |
Returns : |
the new context. |