![]() |
![]() |
![]() |
GStreamer Bad Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
#define GST_GL_CONTEXT_ERROR GQuark gst_gl_context_error_quark (void
); enum GstGLContextError; void (*GstGLContextThreadFunc) (GstGLContext *context
,gpointer data
); GstGLContext; GstGLContext * gst_gl_context_new (GstGLDisplay *display
); GstGLContext * gst_gl_context_new_wrapped (GstGLDisplay *display
,guintptr handle
,GstGLPlatform context_type
,GstGLAPI available_apis
); gboolean gst_gl_context_create (GstGLContext *context
,GstGLContext *other_context
,GError **error
); gboolean gst_gl_context_activate (GstGLContext *context
,gboolean activate
); 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
); GstGLWindow * gst_gl_context_get_window (GstGLContext *context
); gboolean gst_gl_context_set_window (GstGLContext *context
,GstGLWindow *window
); void gst_gl_context_thread_add (GstGLContext *context
,GstGLContextThreadFunc func
,gpointer data
); GstGLDisplay * gst_gl_context_get_display (GstGLContext *context
); GstGLAPI gst_gl_context_get_gl_api (GstGLContext *context
); guintptr gst_gl_context_get_gl_context (GstGLContext *context
); GstGLPlatform gst_gl_context_get_gl_platform (GstGLContext *context
); GThread * gst_gl_context_get_thread (GstGLContext *context
); gboolean gst_gl_context_can_share (GstGLContext *context
,GstGLContext *other_context
); gboolean gst_gl_context_check_feature (GstGLContext *context
,const gchar *feature
); gboolean gst_gl_context_check_gl_version (GstGLContext *context
,GstGLAPI api
,gint maj
,gint min
); void gst_gl_context_get_gl_version (GstGLContext *context
,gint *maj
,gint *min
);
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.
typedef enum { GST_GL_CONTEXT_ERROR_FAILED, GST_GL_CONTEXT_ERROR_WRONG_CONFIG, GST_GL_CONTEXT_ERROR_WRONG_API, GST_GL_CONTEXT_ERROR_OLD_LIBS, GST_GL_CONTEXT_ERROR_CREATE_CONTEXT, GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE, } GstGLContextError;
void (*GstGLContextThreadFunc) (GstGLContext *context
,gpointer data
);
Represents a function to run in the GL thread with context
and data
|
a GstGLContext |
|
user data |
GstGLContext * gst_gl_context_new (GstGLDisplay *display
);
Create a new GstGLContext with the specified display
|
a GstGLDisplay |
Returns : |
a new GstGLContext |
Since 1.4
GstGLContext * gst_gl_context_new_wrapped (GstGLDisplay *display
,guintptr handle
,GstGLPlatform context_type
,GstGLAPI available_apis
);
Wraps an existing OpenGL context into a GstGLContext.
|
a GstGLDisplay |
|
the OpenGL context to wrap |
|
a GstGLPlatform specifying the type of context in handle
|
|
a GstGLAPI containing the available OpenGL apis in handle
|
Returns : |
a GstGLContext wrapping handle
|
Since 1.4
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.
|
a GstGLContext: |
|
a GstGLContext to share OpenGL objects with. [allow-none] |
|
a GError. [allow-none] |
Returns : |
whether the context could successfully be created |
Since 1.4
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.
|
a GstGLContext |
|
TRUE to activate, FALSE to deactivate |
Returns : |
Whether the activation succeeded |
Since 1.4
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.
|
a GstGLContext |
|
an opengl function name |
Returns : |
a function pointer or NULL |
Since 1.4
GstGLWindow * gst_gl_context_get_window (GstGLContext *context
);
|
a GstGLContext |
Returns : |
the currently set window |
Since 1.4
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.
|
a GstGLContext |
|
a GstGLWindow. [transfer full] |
Returns : |
Whether the window was successfully updated |
Since 1.4
void gst_gl_context_thread_add (GstGLContext *context
,GstGLContextThreadFunc func
,gpointer data
);
Execute func
in the OpenGL thread of context
with data
MT-safe
|
a GstGLContext |
|
a GstGLContextThreadFunc |
|
user data to call func with. [closure]
|
Since 1.4
GstGLDisplay * gst_gl_context_get_display (GstGLContext *context
);
|
a GstGLContext: |
Returns : |
the GstGLDisplay associated with this context
|
Since 1.4
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.
|
a GstGLContext |
Returns : |
the available OpenGL api |
Since 1.4
guintptr gst_gl_context_get_gl_context (GstGLContext *context
);
Gets the backing OpenGL context used by context
.
|
a GstGLContext: |
Returns : |
The platform specific backing OpenGL context |
Since 1.4
GstGLPlatform gst_gl_context_get_gl_platform (GstGLContext *context
);
Gets the OpenGL platform that used by context
.
|
a GstGLContext: |
Returns : |
The platform specific backing OpenGL context |
Since 1.4
GThread * gst_gl_context_get_thread (GstGLContext *context
);
|
a GstGLContext |
Returns : |
The GThread, context is current in or NULL. [transfer full]
|
Since 1.4.5
gboolean gst_gl_context_can_share (GstGLContext *context
,GstGLContext *other_context
);
|
a GstGLContext |
|
another GstGLContext |
Returns : |
whether context and other_context are able to share OpenGL
resources. |
Since 1.6
gboolean gst_gl_context_check_feature (GstGLContext *context
,const gchar *feature
);
Some features require that the context be created before it is possible to determine their existence and so will fail if that is not the case.
|
a GstGLContext |
|
a platform specific feature |
Returns : |
Whether feature is supported by context
|
Since 1.4
gboolean gst_gl_context_check_gl_version (GstGLContext *context
,GstGLAPI api
,gint maj
,gint min
);
|
a GstGLContext |
|
api type required |
|
major version required |
|
minor version required |
Returns : |
whether OpenGL context implements the required api and specified version. |
Since 1.4
void gst_gl_context_get_gl_version (GstGLContext *context
,gint *maj
,gint *min
);
|
a GstGLContext |
|
resulting major version. [out] |
|
resulting minor version. [out] |
Returns : |
the OpenGL version implemented by context . See
gst_gl_context_get_gl_api() for retreiving the OpenGL api implemented by
context . |
Since 1.4