# GstGLContext

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.

Environment variables:

- `GST_GL_API`: select which OpenGL API to create and OpenGL context for. Depending on the platform, the available values are 'opengl', 'opengl3' (core profile), and 'gles2'. See the the GstGLAPI enumeration for more details.
- `GST_GL_PLATFORM`: select which OpenGL platform to create an OpenGL context with. Depending on the platform and the dependencies available build-time, the available values are, 'glx', 'egl', 'cgl', 'wgl', and 'eagl'
- `GST_GL_CONFIG`: select the configuration used for creating the OpenGL context and OpenGL surface. Written out as a GstStructure that has been serialized to string. e.g. `GST_GL_CONFIG="gst-gl-context-config,red-size=8,green-size=8,blue-size=8,alpha-size=8,depth-size=16"`. Not all platforms will support the same level of functionality.

## GstGLContext

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstGLContext

Opaque GstGLContext object

### Members

`gl_vtable` (GstGLFuncs *) –

a list of OpenGL function pointers

### Class structure

#### GstGLContextClass

##### Fields

`parent_class` (GstObjectClass) –
No description available

### GstGL.GLContextClass

##### Attributes

`parent_class` (Gst.ObjectClass) –
No description available

### GstGL.GLContextClass

##### Attributes

`parent_class` (Gst.ObjectClass) –
No description available

## GstGL.GLContext

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstGL.GLContext

Opaque GstGL.GLContext object

### Members

`gl_vtable` (GstGL.GLFuncs) –

a list of OpenGL function pointers

## GstGL.GLContext

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstGL.GLContext

Opaque GstGL.GLContext object

### Members

`gl_vtable` (GstGL.GLFuncs) –

a list of OpenGL function pointers

### Constructors

#### gst_gl_context_new

    GstGLContext *
    gst_gl_context_new (GstGLDisplay * display)

Create a new GstGLContext with the specified display

Parameters:

`display` –

a GstGLDisplay

Returns –

a new GstGLContext

Since : 1.4

#### GstGL.GLContext.prototype.new

    function GstGL.GLContext.prototype.new(display: GstGL.GLDisplay): {
        // javascript wrapper for 'gst_gl_context_new'
    }

Create a new GstGL.GLContext with the specified display

Parameters:

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

Returns (GstGL.GLContext) –

a new GstGL.GLContext

Since : 1.4

#### GstGL.GLContext.new

    def GstGL.GLContext.new (display):
        #python wrapper for 'gst_gl_context_new'

Create a new GstGL.GLContext with the specified display

Parameters:

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

Returns (GstGL.GLContext) –

a new GstGL.GLContext

Since : 1.4

#### gst_gl_context_new_wrapped

    GstGLContext *
    gst_gl_context_new_wrapped (GstGLDisplay * display,
                                guintptr handle,
                                GstGLPlatform context_type,
                                GstGLAPI available_apis)

Wraps an existing OpenGL context into a GstGLContext.

Note: The caller is responsible for ensuring that the OpenGL context represented by handle stays alive while the returned GstGLContext is active.

context_type must not be GST_GL_PLATFORM_NONE or GST_GL_PLATFORM_ANY

available_apis must not be GST_GL_API_NONE or GST_GL_API_ANY

Parameters:

`display` –

a GstGLDisplay

`handle` –

the OpenGL context to wrap

`context_type` –

a GstGLPlatform specifying the type of context in handle

`available_apis` –

a GstGLAPI containing the available OpenGL apis in handle

Returns ( [transfer: full]) –

a GstGLContext wrapping handle

Since : 1.4

#### GstGL.GLContext.prototype.new_wrapped

    function GstGL.GLContext.prototype.new_wrapped(display: GstGL.GLDisplay, handle: Number, context_type: GstGL.GLPlatform, available_apis: GstGL.GLAPI): {
        // javascript wrapper for 'gst_gl_context_new_wrapped'
    }

Wraps an existing OpenGL context into a GstGL.GLContext.

Note: The caller is responsible for ensuring that the OpenGL context represented by handle stays alive while the returned GstGL.GLContext is active.

context_type must not be GstGL.GLPlatform.NONE or GstGL.GLPlatform.ANY

available_apis must not be GstGL.GLAPI.NONE or GstGL.GLAPI.ANY

Parameters:

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

`handle` (Number) –

the OpenGL context to wrap

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform specifying the type of context in handle

`available_apis` (GstGL.GLAPI) –

a GstGL.GLAPI containing the available OpenGL apis in handle

Returns (GstGL.GLContext) –

a GstGL.GLContext wrapping handle

Since : 1.4

#### GstGL.GLContext.new_wrapped

    def GstGL.GLContext.new_wrapped (display, handle, context_type, available_apis):
        #python wrapper for 'gst_gl_context_new_wrapped'

Wraps an existing OpenGL context into a GstGL.GLContext.

Note: The caller is responsible for ensuring that the OpenGL context represented by handle stays alive while the returned GstGL.GLContext is active.

context_type must not be GstGL.GLPlatform.NONE or GstGL.GLPlatform.ANY

available_apis must not be GstGL.GLAPI.NONE or GstGL.GLAPI.ANY

Parameters:

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

`handle` (int) –

the OpenGL context to wrap

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform specifying the type of context in handle

`available_apis` (GstGL.GLAPI) –

a GstGL.GLAPI containing the available OpenGL apis in handle

Returns (GstGL.GLContext) –

a GstGL.GLContext wrapping handle

Since : 1.4

### Methods

#### gst_gl_context_activate

    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.

Parameters:

`context` –

a GstGLContext

`activate` –

TRUE to activate, FALSE to deactivate

Returns –

Whether the activation succeeded

Since : 1.4

#### GstGL.GLContext.prototype.activate

    function GstGL.GLContext.prototype.activate(activate: Number): {
        // javascript wrapper for 'gst_gl_context_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 GstGL.GLContext.prototype.set_window for details.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`activate` (Number) –

true to activate, false to deactivate

Returns (Number) –

Whether the activation succeeded

Since : 1.4

#### GstGL.GLContext.activate

    def GstGL.GLContext.activate (self, activate):
        #python wrapper for 'gst_gl_context_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 GstGL.GLContext.set_window for details.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`activate` (bool) –

True to activate, False to deactivate

Returns (bool) –

Whether the activation succeeded

Since : 1.4

#### gst_gl_context_can_share

    gboolean
    gst_gl_context_can_share (GstGLContext * context,
                              GstGLContext * other_context)

Note: This will always fail for two wrapped GstGLContext's

Parameters:

`context` –

a GstGLContext

`other_context` –

another GstGLContext

Returns –

whether context and other_context are able to share OpenGL resources.

Since : 1.6

#### GstGL.GLContext.prototype.can_share

    function GstGL.GLContext.prototype.can_share(other_context: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_context_can_share'
    }

Note: This will always fail for two wrapped GstGL.GLContext's

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`other_context` (GstGL.GLContext) –

another GstGL.GLContext

Returns (Number) –

whether context and other_context are able to share OpenGL resources.

Since : 1.6

#### GstGL.GLContext.can_share

    def GstGL.GLContext.can_share (self, other_context):
        #python wrapper for 'gst_gl_context_can_share'

Note: This will always fail for two wrapped GstGL.GLContext's

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`other_context` (GstGL.GLContext) –

another GstGL.GLContext

Returns (bool) –

whether context and other_context are able to share OpenGL resources.

Since : 1.6

#### gst_gl_context_check_feature

    gboolean
    gst_gl_context_check_feature (GstGLContext * context,
                                  const gchar * feature)

Check for an OpenGL feature being supported.

Note: Most 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.

Parameters:

`context` –

a GstGLContext

`feature` –

a platform specific feature

Returns –

Whether feature is supported by context

Since : 1.4

#### GstGL.GLContext.prototype.check_feature

    function GstGL.GLContext.prototype.check_feature(feature: String): {
        // javascript wrapper for 'gst_gl_context_check_feature'
    }

Check for an OpenGL feature being supported.

Note: Most 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.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`feature` (String) –

a platform specific feature

Returns (Number) –

Whether feature is supported by context

Since : 1.4

#### GstGL.GLContext.check_feature

    def GstGL.GLContext.check_feature (self, feature):
        #python wrapper for 'gst_gl_context_check_feature'

Check for an OpenGL feature being supported.

Note: Most 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.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`feature` (str) –

a platform specific feature

Returns (bool) –

Whether feature is supported by context

Since : 1.4

#### gst_gl_context_check_framebuffer_status

    gboolean
    gst_gl_context_check_framebuffer_status (GstGLContext * context,
                                             guint fbo_target)

Must be called with context current.

Parameters:

`context` –

a GstGLContext

`fbo_target` –

the GL value of the framebuffer target, GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER

Returns –

whether whether the current framebuffer is complete

Since : 1.10

#### GstGL.GLContext.prototype.check_framebuffer_status

    function GstGL.GLContext.prototype.check_framebuffer_status(fbo_target: Number): {
        // javascript wrapper for 'gst_gl_context_check_framebuffer_status'
    }

Must be called with context current.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`fbo_target` (Number) –

the GL value of the framebuffer target, GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER

Returns (Number) –

whether whether the current framebuffer is complete

Since : 1.10

#### GstGL.GLContext.check_framebuffer_status

    def GstGL.GLContext.check_framebuffer_status (self, fbo_target):
        #python wrapper for 'gst_gl_context_check_framebuffer_status'

Must be called with context current.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`fbo_target` (int) –

the GL value of the framebuffer target, GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER

Returns (bool) –

whether whether the current framebuffer is complete

Since : 1.10

#### gst_gl_context_check_gl_version

    gboolean
    gst_gl_context_check_gl_version (GstGLContext * context,
                                     GstGLAPI api,
                                     gint maj,
                                     gint min)

Parameters:

`context` –

a GstGLContext

`api` –

api type required

`maj` –

major version required

`min` –

minor version required

Returns –

whether OpenGL context implements the required api and specified version.

Since : 1.4

#### GstGL.GLContext.prototype.check_gl_version

    function GstGL.GLContext.prototype.check_gl_version(api: GstGL.GLAPI, maj: Number, min: Number): {
        // javascript wrapper for 'gst_gl_context_check_gl_version'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`api` (GstGL.GLAPI) –

api type required

`maj` (Number) –

major version required

`min` (Number) –

minor version required

Returns (Number) –

whether OpenGL context implements the required api and specified version.

Since : 1.4

#### GstGL.GLContext.check_gl_version

    def GstGL.GLContext.check_gl_version (self, api, maj, min):
        #python wrapper for 'gst_gl_context_check_gl_version'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`api` (GstGL.GLAPI) –

api type required

`maj` (int) –

major version required

`min` (int) –

minor version required

Returns (bool) –

whether OpenGL context implements the required api and specified version.

Since : 1.4

#### gst_gl_context_clear_framebuffer

    gst_gl_context_clear_framebuffer (GstGLContext * context)

Unbind the current framebuffer

Parameters:

`context` –

a GstGLContext

Since : 1.10

#### GstGL.GLContext.prototype.clear_framebuffer

    function GstGL.GLContext.prototype.clear_framebuffer(): {
        // javascript wrapper for 'gst_gl_context_clear_framebuffer'
    }

Unbind the current framebuffer

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Since : 1.10

#### GstGL.GLContext.clear_framebuffer

    def GstGL.GLContext.clear_framebuffer (self):
        #python wrapper for 'gst_gl_context_clear_framebuffer'

Unbind the current framebuffer

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Since : 1.10

#### gst_gl_context_clear_shader

    gst_gl_context_clear_shader (GstGLContext * context)

Clear's the currently set shader from the GL state machine.

Note: must be called in the GL thread.

Parameters:

`context` –

a GstGLContext

#### GstGL.GLContext.prototype.clear_shader

    function GstGL.GLContext.prototype.clear_shader(): {
        // javascript wrapper for 'gst_gl_context_clear_shader'
    }

Clear's the currently set shader from the GL state machine.

Note: must be called in the GL thread.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### GstGL.GLContext.clear_shader

    def GstGL.GLContext.clear_shader (self):
        #python wrapper for 'gst_gl_context_clear_shader'

Clear's the currently set shader from the GL state machine.

Note: must be called in the GL thread.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### gst_gl_context_create

    gboolean
    gst_gl_context_create (GstGLContext * context,
                           GstGLContext * other_context,
                           GError ** error)

Creates an OpenGL context with the specified other_context as a context to share shareable OpenGL objects with. See the OpenGL specification for what is shared between OpenGL contexts.

Since 1.20, the configuration can be overriden with the environment variable `GST_GL_CONFIG` which is a stringified GstStructure as would be returned from gst_gl_context_get_config. If `GST_GL_CONFIG` is not set, then the config will be chosen from other_context by calling gst_gl_context_get_config on other_context. Otherwise, a default configuration is used.

Calling gst_gl_context_request_config) before calling gst_gl_context_create will override the config from other_context but will not override the `GST_GL_CONFIG` environment variable.

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.

Parameters:

`context` –

a GstGLContext:

`other_context` ( [allow-none]) –

a GstGLContext to share OpenGL objects with

`error` ( [allow-none]) –

a GError

Returns –

whether the context could successfully be created

Since : 1.4

#### GstGL.GLContext.prototype.create

    function GstGL.GLContext.prototype.create(other_context: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_context_create'
    }

Creates an OpenGL context with the specified other_context as a context to share shareable OpenGL objects with. See the OpenGL specification for what is shared between OpenGL contexts.

Since 1.20, the configuration can be overriden with the environment variable `GST_GL_CONFIG` which is a stringified Gst.Structure as would be returned from GstGL.GLContext.prototype.get_config. If `GST_GL_CONFIG` is not set, then the config will be chosen from other_context by calling GstGL.GLContext.prototype.get_config on other_context. Otherwise, a default configuration is used.

Calling GstGL.GLContext.prototype.request_config) before calling GstGL.GLContext.prototype.create will override the config from other_context but will not override the `GST_GL_CONFIG` environment variable.

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.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

`other_context` (GstGL.GLContext) –

a GstGL.GLContext to share OpenGL objects with

Returns (Number) –

whether the context could successfully be created

Since : 1.4

#### GstGL.GLContext.create

    @raises(GLib.GError)
    def GstGL.GLContext.create (self, other_context):
        #python wrapper for 'gst_gl_context_create'

Creates an OpenGL context with the specified other_context as a context to share shareable OpenGL objects with. See the OpenGL specification for what is shared between OpenGL contexts.

Since 1.20, the configuration can be overriden with the environment variable `GST_GL_CONFIG` which is a stringified Gst.Structure as would be returned from GstGL.GLContext.get_config. If `GST_GL_CONFIG` is not set, then the config will be chosen from other_context by calling GstGL.GLContext.get_config on other_context. Otherwise, a default configuration is used.

Calling GstGL.GLContext.request_config) before calling GstGL.GLContext.create will override the config from other_context but will not override the `GST_GL_CONFIG` environment variable.

If an error occurs, and error is not None, then error will contain details of the error and False will be returned.

Should only be called once.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

`other_context` (GstGL.GLContext) –

a GstGL.GLContext to share OpenGL objects with

Returns (bool) –

whether the context could successfully be created

Since : 1.4

#### gst_gl_context_destroy

    gst_gl_context_destroy (GstGLContext * context)

Destroys an OpenGL context.

Should only be called after gst_gl_context_create has been successfully called for this context.

Parameters:

`context` –

a GstGLContext:

Since : 1.6

#### GstGL.GLContext.prototype.destroy

    function GstGL.GLContext.prototype.destroy(): {
        // javascript wrapper for 'gst_gl_context_destroy'
    }

Destroys an OpenGL context.

Should only be called after GstGL.GLContext.prototype.create has been successfully called for this context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Since : 1.6

#### GstGL.GLContext.destroy

    def GstGL.GLContext.destroy (self):
        #python wrapper for 'gst_gl_context_destroy'

Destroys an OpenGL context.

Should only be called after GstGL.GLContext.create has been successfully called for this context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Since : 1.6

#### gst_gl_context_fill_info

    gboolean
    gst_gl_context_fill_info (GstGLContext * context,
                              GError ** error)

Fills context's info (version, extensions, vtable, etc) from the GL context in the current thread. Typically used with wrapped contexts to allow wrapped contexts to be used as regular GstGLContext's.

Parameters:

`context` –

a GstGLContext:

`error` ( [allow-none]) –

a GError to fill on failure

Returns –
No description available

Since : 1.6

#### GstGL.GLContext.prototype.fill_info

    function GstGL.GLContext.prototype.fill_info(): {
        // javascript wrapper for 'gst_gl_context_fill_info'
    }

Fills context's info (version, extensions, vtable, etc) from the GL context in the current thread. Typically used with wrapped contexts to allow wrapped contexts to be used as regular GstGL.GLContext's.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (Number) –
No description available

Since : 1.6

#### GstGL.GLContext.fill_info

    @raises(GLib.GError)
    def GstGL.GLContext.fill_info (self):
        #python wrapper for 'gst_gl_context_fill_info'

Fills context's info (version, extensions, vtable, etc) from the GL context in the current thread. Typically used with wrapped contexts to allow wrapped contexts to be used as regular GstGL.GLContext's.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (bool) –
No description available

Since : 1.6

#### gst_gl_context_get_config

    GstStructure *
    gst_gl_context_get_config (GstGLContext * context)

Retrieve the OpenGL configuration for this context. The context must have been successfully created for this function to return a valid value.

Not all implementations currently support retrieving the config and will return NULL when not supported.

Parameters:

`context` –

the GstGLContext

Returns ( [transfer: full][nullable]) –

the configuration chosen for this OpenGL context.

Since : 1.20

#### GstGL.GLContext.prototype.get_config

    function GstGL.GLContext.prototype.get_config(): {
        // javascript wrapper for 'gst_gl_context_get_config'
    }

Retrieve the OpenGL configuration for this context. The context must have been successfully created for this function to return a valid value.

Not all implementations currently support retrieving the config and will return null when not supported.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

Returns (Gst.Structure) –

the configuration chosen for this OpenGL context.

Since : 1.20

#### GstGL.GLContext.get_config

    def GstGL.GLContext.get_config (self):
        #python wrapper for 'gst_gl_context_get_config'

Retrieve the OpenGL configuration for this context. The context must have been successfully created for this function to return a valid value.

Not all implementations currently support retrieving the config and will return None when not supported.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

Returns (Gst.Structure) –

the configuration chosen for this OpenGL context.

Since : 1.20

#### gst_gl_context_get_display

    GstGLDisplay *
    gst_gl_context_get_display (GstGLContext * context)

Parameters:

`context` –

a GstGLContext:

Returns ( [transfer: full]) –

the GstGLDisplay associated with this context

Since : 1.4

#### GstGL.GLContext.prototype.get_display

    function GstGL.GLContext.prototype.get_display(): {
        // javascript wrapper for 'gst_gl_context_get_display'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (GstGL.GLDisplay) –

the GstGL.GLDisplay associated with this context

Since : 1.4

#### GstGL.GLContext.get_display

    def GstGL.GLContext.get_display (self):
        #python wrapper for 'gst_gl_context_get_display'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (GstGL.GLDisplay) –

the GstGL.GLDisplay associated with this context

Since : 1.4

#### gst_gl_context_get_gl_api

    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.

Parameters:

`context` –

a GstGLContext

Returns –

the available OpenGL api

Since : 1.4

#### GstGL.GLContext.prototype.get_gl_api

    function GstGL.GLContext.prototype.get_gl_api(): {
        // javascript wrapper for 'gst_gl_context_get_gl_api'
    }

Get the currently enabled OpenGL api.

The currently available API may be limited by the GstGL.GLDisplay in use and/or the GstGL.GLWindow chosen.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GstGL.GLAPI) –

the available OpenGL api

Since : 1.4

#### GstGL.GLContext.get_gl_api

    def GstGL.GLContext.get_gl_api (self):
        #python wrapper for 'gst_gl_context_get_gl_api'

Get the currently enabled OpenGL api.

The currently available API may be limited by the GstGL.GLDisplay in use and/or the GstGL.GLWindow chosen.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GstGL.GLAPI) –

the available OpenGL api

Since : 1.4

#### gst_gl_context_get_gl_context

    guintptr
    gst_gl_context_get_gl_context (GstGLContext * context)

Gets the backing OpenGL context used by context.

Parameters:

`context` –

a GstGLContext:

Returns –

The platform specific backing OpenGL context

Since : 1.4

#### GstGL.GLContext.prototype.get_gl_context

    function GstGL.GLContext.prototype.get_gl_context(): {
        // javascript wrapper for 'gst_gl_context_get_gl_context'
    }

Gets the backing OpenGL context used by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (Number) –

The platform specific backing OpenGL context

Since : 1.4

#### GstGL.GLContext.get_gl_context

    def GstGL.GLContext.get_gl_context (self):
        #python wrapper for 'gst_gl_context_get_gl_context'

Gets the backing OpenGL context used by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (int) –

The platform specific backing OpenGL context

Since : 1.4

#### gst_gl_context_get_gl_platform

    GstGLPlatform
    gst_gl_context_get_gl_platform (GstGLContext * context)

Gets the OpenGL platform that used by context.

Parameters:

`context` –

a GstGLContext:

Returns –

The platform specific backing OpenGL context

Since : 1.4

#### GstGL.GLContext.prototype.get_gl_platform

    function GstGL.GLContext.prototype.get_gl_platform(): {
        // javascript wrapper for 'gst_gl_context_get_gl_platform'
    }

Gets the OpenGL platform that used by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (GstGL.GLPlatform) –

The platform specific backing OpenGL context

Since : 1.4

#### GstGL.GLContext.get_gl_platform

    def GstGL.GLContext.get_gl_platform (self):
        #python wrapper for 'gst_gl_context_get_gl_platform'

Gets the OpenGL platform that used by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext:

Returns (GstGL.GLPlatform) –

The platform specific backing OpenGL context

Since : 1.4

#### gst_gl_context_get_gl_platform_version

    gst_gl_context_get_gl_platform_version (GstGLContext * context,
                                            gint * major,
                                            gint * minor)

Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid after a call to gst_gl_context_create.

Parameters:

`context` –

a GstGLContext

`major` ( [out]) –

return for the major version

`minor` ( [out]) –

return for the minor version

#### GstGL.GLContext.prototype.get_gl_platform_version

    function GstGL.GLContext.prototype.get_gl_platform_version(): {
        // javascript wrapper for 'gst_gl_context_get_gl_platform_version'
    }

Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid after a call to GstGL.GLContext.prototype.create.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### GstGL.GLContext.get_gl_platform_version

    def GstGL.GLContext.get_gl_platform_version (self):
        #python wrapper for 'gst_gl_context_get_gl_platform_version'

Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid after a call to GstGL.GLContext.create.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### gst_gl_context_get_gl_version

    gst_gl_context_get_gl_version (GstGLContext * context,
                                   gint * maj,
                                   gint * min)

Returns the OpenGL version implemented by context. See gst_gl_context_get_gl_api for retrieving the OpenGL api implemented by context.

Parameters:

`context` –

a GstGLContext

`maj` ( [out]) –

resulting major version

`min` ( [out]) –

resulting minor version

Since : 1.4

#### GstGL.GLContext.prototype.get_gl_version

    function GstGL.GLContext.prototype.get_gl_version(): {
        // javascript wrapper for 'gst_gl_context_get_gl_version'
    }

Returns the OpenGL version implemented by context. See GstGL.GLContext.prototype.get_gl_api for retrieving the OpenGL api implemented by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Since : 1.4

#### GstGL.GLContext.get_gl_version

    def GstGL.GLContext.get_gl_version (self):
        #python wrapper for 'gst_gl_context_get_gl_version'

Returns the OpenGL version implemented by context. See GstGL.GLContext.get_gl_api for retrieving the OpenGL api implemented by context.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Since : 1.4

#### gst_gl_context_get_proc_address

    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 specific functions (names starting 'egl', 'glX', 'wgl', etc) can also be retrieved using this method.

Note: This function may return valid function pointers that may not be valid to call in context. The caller is responsible for ensuring that the returned function is a valid function to call in context by either checking the OpenGL API and version or for an appropriate OpenGL extension.

Note: On success, you need to cast the returned function pointer to the correct type to be able to call it correctly. On 32-bit Windows, this will include the `GSTGLAPI` identifier to use the correct calling convention. e.g.

     void (GSTGLAPI *PFN_glGetIntegerv) (GLenum name, GLint * ret)

Parameters:

`context` –

a GstGLContext

`name` –

an opengl function name

Returns –

a function pointer or NULL

Since : 1.4

#### GstGL.GLContext.prototype.get_proc_address

    function GstGL.GLContext.prototype.get_proc_address(name: String): {
        // javascript wrapper for 'gst_gl_context_get_proc_address'
    }

Get a function pointer to a specified opengl function, name. If the the specific function does not exist, NULL is returned instead.

Platform specific functions (names starting 'egl', 'glX', 'wgl', etc) can also be retrieved using this method.

Note: This function may return valid function pointers that may not be valid to call in context. The caller is responsible for ensuring that the returned function is a valid function to call in context by either checking the OpenGL API and version or for an appropriate OpenGL extension.

Note: On success, you need to cast the returned function pointer to the correct type to be able to call it correctly. On 32-bit Windows, this will include the `GSTGLAPI` identifier to use the correct calling convention. e.g.

     void (GSTGLAPI *PFN_glGetIntegerv) (GLenum name, GLint * ret)

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`name` (String) –

an opengl function name

Returns (Object) –

a function pointer or null

Since : 1.4

#### GstGL.GLContext.get_proc_address

    def GstGL.GLContext.get_proc_address (self, name):
        #python wrapper for 'gst_gl_context_get_proc_address'

Get a function pointer to a specified opengl function, name. If the the specific function does not exist, NULL is returned instead.

Platform specific functions (names starting 'egl', 'glX', 'wgl', etc) can also be retrieved using this method.

Note: This function may return valid function pointers that may not be valid to call in context. The caller is responsible for ensuring that the returned function is a valid function to call in context by either checking the OpenGL API and version or for an appropriate OpenGL extension.

Note: On success, you need to cast the returned function pointer to the correct type to be able to call it correctly. On 32-bit Windows, this will include the `GSTGLAPI` identifier to use the correct calling convention. e.g.

     void (GSTGLAPI *PFN_glGetIntegerv) (GLenum name, GLint * ret)

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`name` (str) –

an opengl function name

Returns (object) –

a function pointer or None

Since : 1.4

#### gst_gl_context_get_thread

    GThread *
    gst_gl_context_get_thread (GstGLContext * context)

Parameters:

`context` –

a GstGLContext

Returns ( [transfer: full]) –

The GThread, context is current in or NULL

Since : 1.6

#### GstGL.GLContext.prototype.get_thread

    function GstGL.GLContext.prototype.get_thread(): {
        // javascript wrapper for 'gst_gl_context_get_thread'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GLib.Thread) –

The GLib.Thread, context is current in or NULL

Since : 1.6

#### GstGL.GLContext.get_thread

    def GstGL.GLContext.get_thread (self):
        #python wrapper for 'gst_gl_context_get_thread'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GLib.Thread) –

The GLib.Thread, context is current in or NULL

Since : 1.6

#### gst_gl_context_get_window

    GstGLWindow *
    gst_gl_context_get_window (GstGLContext * context)

Parameters:

`context` –

a GstGLContext

Returns ( [transfer: full][nullable]) –

the currently set window

Since : 1.4

#### GstGL.GLContext.prototype.get_window

    function GstGL.GLContext.prototype.get_window(): {
        // javascript wrapper for 'gst_gl_context_get_window'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GstGL.GLWindow) –

the currently set window

Since : 1.4

#### GstGL.GLContext.get_window

    def GstGL.GLContext.get_window (self):
        #python wrapper for 'gst_gl_context_get_window'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (GstGL.GLWindow) –

the currently set window

Since : 1.4

#### gst_gl_context_is_shared

    gboolean
    gst_gl_context_is_shared (GstGLContext * context)

Parameters:

`context` –

a GstGLContext

Returns –

Whether the GstGLContext has been shared with another GstGLContext

Since : 1.8

#### GstGL.GLContext.prototype.is_shared

    function GstGL.GLContext.prototype.is_shared(): {
        // javascript wrapper for 'gst_gl_context_is_shared'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (Number) –

Whether the GstGL.GLContext has been shared with another GstGL.GLContext

Since : 1.8

#### GstGL.GLContext.is_shared

    def GstGL.GLContext.is_shared (self):
        #python wrapper for 'gst_gl_context_is_shared'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

Returns (bool) –

Whether the GstGL.GLContext has been shared with another GstGL.GLContext

Since : 1.8

#### gst_gl_context_request_config

    gboolean
    gst_gl_context_request_config (GstGLContext * context,
                                   GstStructure * gl_config)

Set the OpenGL configuration for this context. The context must not have been created for this function to succeed. Setting a NULL config has the affect of removing any specific configuration request.

Not all implementations currently support retrieving the config and this function will return FALSE when not supported.

Note that calling this function may cause a subsequent gst_gl_context_create to fail if config could not be matched with the platform-specific configuration.

Note that the actual config used may be differ from the requested values.

Parameters:

`context` –

the GstGLContext

`gl_config` ( [nullable][transfer: full]) –

a configuration structure for configuring the OpenGL context

Returns –

whether gl_config could be successfully set on context

Since : 1.20

#### GstGL.GLContext.prototype.request_config

    function GstGL.GLContext.prototype.request_config(gl_config: Gst.Structure): {
        // javascript wrapper for 'gst_gl_context_request_config'
    }

Set the OpenGL configuration for this context. The context must not have been created for this function to succeed. Setting a null config has the affect of removing any specific configuration request.

Not all implementations currently support retrieving the config and this function will return FALSE when not supported.

Note that calling this function may cause a subsequent GstGL.GLContext.prototype.create to fail if config could not be matched with the platform-specific configuration.

Note that the actual config used may be differ from the requested values.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

`gl_config` (Gst.Structure) –

a configuration structure for configuring the OpenGL context

Returns (Number) –

whether gl_config could be successfully set on context

Since : 1.20

#### GstGL.GLContext.request_config

    def GstGL.GLContext.request_config (self, gl_config):
        #python wrapper for 'gst_gl_context_request_config'

Set the OpenGL configuration for this context. The context must not have been created for this function to succeed. Setting a None config has the affect of removing any specific configuration request.

Not all implementations currently support retrieving the config and this function will return FALSE when not supported.

Note that calling this function may cause a subsequent GstGL.GLContext.create to fail if config could not be matched with the platform-specific configuration.

Note that the actual config used may be differ from the requested values.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

`gl_config` (Gst.Structure) –

a configuration structure for configuring the OpenGL context

Returns (bool) –

whether gl_config could be successfully set on context

Since : 1.20

#### gst_gl_context_set_shared_with

    gst_gl_context_set_shared_with (GstGLContext * context,
                                    GstGLContext * share)

Will internally set context as shared with share

Parameters:

`context` –

a wrapped GstGLContext

`share` –

another GstGLContext

Since : 1.8

#### GstGL.GLContext.prototype.set_shared_with

    function GstGL.GLContext.prototype.set_shared_with(share: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_context_set_shared_with'
    }

Will internally set context as shared with share

Parameters:

`context` (GstGL.GLContext) –

a wrapped GstGL.GLContext

`share` (GstGL.GLContext) –

another GstGL.GLContext

Since : 1.8

#### GstGL.GLContext.set_shared_with

    def GstGL.GLContext.set_shared_with (self, share):
        #python wrapper for 'gst_gl_context_set_shared_with'

Will internally set context as shared with share

Parameters:

`context` (GstGL.GLContext) –

a wrapped GstGL.GLContext

`share` (GstGL.GLContext) –

another GstGL.GLContext

Since : 1.8

#### gst_gl_context_set_window

    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.

Parameters:

`context` –

a GstGLContext

`window` ( [transfer: full]) –

a GstGLWindow

Returns –

Whether the window was successfully updated

Since : 1.4

#### GstGL.GLContext.prototype.set_window

    function GstGL.GLContext.prototype.set_window(window: GstGL.GLWindow): {
        // javascript wrapper for 'gst_gl_context_set_window'
    }

Set's the current window on context to window. The window can only be changed before GstGL.GLContext.prototype.create has been called and the window is not already running.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`window` (GstGL.GLWindow) –

a GstGL.GLWindow

Returns (Number) –

Whether the window was successfully updated

Since : 1.4

#### GstGL.GLContext.set_window

    def GstGL.GLContext.set_window (self, window):
        #python wrapper for 'gst_gl_context_set_window'

Set's the current window on context to window. The window can only be changed before GstGL.GLContext.create has been called and the window is not already running.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`window` (GstGL.GLWindow) –

a GstGL.GLWindow

Returns (bool) –

Whether the window was successfully updated

Since : 1.4

#### gst_gl_context_supports_glsl_profile_version

    gboolean
    gst_gl_context_supports_glsl_profile_version (GstGLContext * context,
                                                  GstGLSLVersion version,
                                                  GstGLSLProfile profile)

Parameters:

`context` –

a GstGLContext

`version` –

a GstGLSLVersion

`profile` –

a GstGLSLProfile

Returns –

Whether context supports the combination of version with profile

#### GstGL.GLContext.prototype.supports_glsl_profile_version

    function GstGL.GLContext.prototype.supports_glsl_profile_version(version: GstGL.GLSLVersion, profile: GstGL.GLSLProfile): {
        // javascript wrapper for 'gst_gl_context_supports_glsl_profile_version'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (Number) –

Whether context supports the combination of version with profile

#### GstGL.GLContext.supports_glsl_profile_version

    def GstGL.GLContext.supports_glsl_profile_version (self, version, profile):
        #python wrapper for 'gst_gl_context_supports_glsl_profile_version'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (bool) –

Whether context supports the combination of version with profile

#### gst_gl_context_supports_precision

    gboolean
    gst_gl_context_supports_precision (GstGLContext * context,
                                       GstGLSLVersion version,
                                       GstGLSLProfile profile)

Parameters:

`context` –

a GstGLContext

`version` –

a GstGLSLVersion

`profile` –

a GstGLSLProfile

Returns –

whether context supports the 'precision' specifier in GLSL shaders

Since : 1.16

#### GstGL.GLContext.prototype.supports_precision

    function GstGL.GLContext.prototype.supports_precision(version: GstGL.GLSLVersion, profile: GstGL.GLSLProfile): {
        // javascript wrapper for 'gst_gl_context_supports_precision'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (Number) –

whether context supports the 'precision' specifier in GLSL shaders

Since : 1.16

#### GstGL.GLContext.supports_precision

    def GstGL.GLContext.supports_precision (self, version, profile):
        #python wrapper for 'gst_gl_context_supports_precision'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (bool) –

whether context supports the 'precision' specifier in GLSL shaders

Since : 1.16

#### gst_gl_context_supports_precision_highp

    gboolean
    gst_gl_context_supports_precision_highp (GstGLContext * context,
                                             GstGLSLVersion version,
                                             GstGLSLProfile profile)

Parameters:

`context` –

a GstGLContext

`version` –

a GstGLSLVersion

`profile` –

a GstGLSLProfile

Returns –

whether context supports the 'precision highp' specifier in GLSL shaders

Since : 1.16

#### GstGL.GLContext.prototype.supports_precision_highp

    function GstGL.GLContext.prototype.supports_precision_highp(version: GstGL.GLSLVersion, profile: GstGL.GLSLProfile): {
        // javascript wrapper for 'gst_gl_context_supports_precision_highp'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (Number) –

whether context supports the 'precision highp' specifier in GLSL shaders

Since : 1.16

#### GstGL.GLContext.supports_precision_highp

    def GstGL.GLContext.supports_precision_highp (self, version, profile):
        #python wrapper for 'gst_gl_context_supports_precision_highp'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`version` (GstGL.GLSLVersion) –

a GstGL.GLSLVersion

`profile` (GstGL.GLSLProfile) –

a GstGL.GLSLProfile

Returns (bool) –

whether context supports the 'precision highp' specifier in GLSL shaders

Since : 1.16

#### gst_gl_context_swap_buffers

    gst_gl_context_swap_buffers (GstGLContext * context)

Swap the front and back buffers on the window attached to context. This will display the frame on the next refresh cycle.

Parameters:

`context` –

a GstGLContext

#### GstGL.GLContext.prototype.swap_buffers

    function GstGL.GLContext.prototype.swap_buffers(): {
        // javascript wrapper for 'gst_gl_context_swap_buffers'
    }

Swap the front and back buffers on the window attached to context. This will display the frame on the next refresh cycle.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### GstGL.GLContext.swap_buffers

    def GstGL.GLContext.swap_buffers (self):
        #python wrapper for 'gst_gl_context_swap_buffers'

Swap the front and back buffers on the window attached to context. This will display the frame on the next refresh cycle.

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

#### gst_gl_context_thread_add

    gst_gl_context_thread_add (GstGLContext * context,
                               GstGLContextThreadFunc func,
                               gpointer data)

Execute func in the OpenGL thread of context with data

MT-safe

Parameters:

`context` –

a GstGLContext

`func` ( [scope call]) –

a GstGLContextThreadFunc

`data` ( [closure]) –

user data to call func with

Since : 1.4

#### GstGL.GLContext.prototype.thread_add

    function GstGL.GLContext.prototype.thread_add(func: GstGL.GLContextThreadFunc, data: Object): {
        // javascript wrapper for 'gst_gl_context_thread_add'
    }

Execute func in the OpenGL thread of context with data

MT-safe

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`func` (GstGL.GLContextThreadFunc) –

a GstGL.GLContextThreadFunc

`data` (Object) –

user data to call func with

Since : 1.4

#### GstGL.GLContext.thread_add

    def GstGL.GLContext.thread_add (self, func, *data):
        #python wrapper for 'gst_gl_context_thread_add'

Execute func in the OpenGL thread of context with data

MT-safe

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`func` (GstGL.GLContextThreadFunc) –

a GstGL.GLContextThreadFunc

`data` (variadic) –

user data to call func with

Since : 1.4

### Functions

#### gst_gl_context_default_get_proc_address

    gpointer
    gst_gl_context_default_get_proc_address (GstGLAPI gl_api,
                                             const gchar * name)

A default implementation of the various GetProcAddress functions that looks for name in the OpenGL shared libraries or in the current process.

See also: gst_gl_context_get_proc_address

Parameters:

`gl_api` –

a GstGLAPI

`name` –

then function to get the address of

Returns –

an address pointing to name or NULL

Since : 1.4

#### GstGL.GLContext.prototype.default_get_proc_address

    function GstGL.GLContext.prototype.default_get_proc_address(gl_api: GstGL.GLAPI, name: String): {
        // javascript wrapper for 'gst_gl_context_default_get_proc_address'
    }

A default implementation of the various GetProcAddress functions that looks for name in the OpenGL shared libraries or in the current process.

See also: GstGL.GLContext.prototype.get_proc_address

Parameters:

`gl_api` (GstGL.GLAPI) –

a GstGL.GLAPI

`name` (String) –

then function to get the address of

Returns (Object) –

an address pointing to name or null

Since : 1.4

#### GstGL.GLContext.default_get_proc_address

    def GstGL.GLContext.default_get_proc_address (gl_api, name):
        #python wrapper for 'gst_gl_context_default_get_proc_address'

A default implementation of the various GetProcAddress functions that looks for name in the OpenGL shared libraries or in the current process.

See also: GstGL.GLContext.get_proc_address

Parameters:

`gl_api` (GstGL.GLAPI) –

a GstGL.GLAPI

`name` (str) –

then function to get the address of

Returns (object) –

an address pointing to name or None

Since : 1.4

#### gst_gl_context_get_current

    GstGLContext *
    gst_gl_context_get_current ()

See also gst_gl_context_activate.

Returns ( [transfer: none]) –

the GstGLContext active in the current thread or NULL

Since : 1.6

#### GstGL.GLContext.prototype.get_current

    function GstGL.GLContext.prototype.get_current(): {
        // javascript wrapper for 'gst_gl_context_get_current'
    }

See also GstGL.GLContext.prototype.activate.

Returns (GstGL.GLContext) –

the GstGL.GLContext active in the current thread or null

Since : 1.6

#### GstGL.GLContext.get_current

    def GstGL.GLContext.get_current ():
        #python wrapper for 'gst_gl_context_get_current'

See also GstGL.GLContext.activate.

Returns (GstGL.GLContext) –

the GstGL.GLContext active in the current thread or None

Since : 1.6

#### gst_gl_context_get_current_gl_api

    GstGLAPI
    gst_gl_context_get_current_gl_api (GstGLPlatform platform,
                                       guint * major,
                                       guint * minor)

If an error occurs, major and minor are not modified and GST_GL_API_NONE is returned.

Parameters:

`platform` –

the GstGLPlatform to retrieve the API for

`major` ( [out][allow-none]) –

the major version

`minor` ( [out][allow-none]) –

the minor version

Returns –

The version supported by the OpenGL context current in the calling thread or GST_GL_API_NONE

Since : 1.6

#### GstGL.GLContext.prototype.get_current_gl_api

    function GstGL.GLContext.prototype.get_current_gl_api(platform: GstGL.GLPlatform): {
        // javascript wrapper for 'gst_gl_context_get_current_gl_api'
    }

If an error occurs, major and minor are not modified and GstGL.GLAPI.NONE is returned.

Parameters:

`platform` (GstGL.GLPlatform) –

the GstGL.GLPlatform to retrieve the API for

Returns a tuple made of:

(GstGL.GLAPI ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

`major` (Number ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

`minor` (Number ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

Since : 1.6

#### GstGL.GLContext.get_current_gl_api

    def GstGL.GLContext.get_current_gl_api (platform):
        #python wrapper for 'gst_gl_context_get_current_gl_api'

If an error occurs, major and minor are not modified and GstGL.GLAPI.NONE is returned.

Parameters:

`platform` (GstGL.GLPlatform) –

the GstGL.GLPlatform to retrieve the API for

Returns a tuple made of:

(GstGL.GLAPI ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

`major` (int ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

`minor` (int ) –

The version supported by the OpenGL context current in the calling thread or GstGL.GLAPI.NONE

Since : 1.6

#### gst_gl_context_get_current_gl_context

    guintptr
    gst_gl_context_get_current_gl_context (GstGLPlatform context_type)

Parameters:

`context_type` –

a GstGLPlatform specifying the type of context to retrieve

Returns –

The OpenGL context handle current in the calling thread or NULL

Since : 1.6

#### GstGL.GLContext.prototype.get_current_gl_context

    function GstGL.GLContext.prototype.get_current_gl_context(context_type: GstGL.GLPlatform): {
        // javascript wrapper for 'gst_gl_context_get_current_gl_context'
    }

Parameters:

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform specifying the type of context to retrieve

Returns (Number) –

The OpenGL context handle current in the calling thread or null

Since : 1.6

#### GstGL.GLContext.get_current_gl_context

    def GstGL.GLContext.get_current_gl_context (context_type):
        #python wrapper for 'gst_gl_context_get_current_gl_context'

Parameters:

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform specifying the type of context to retrieve

Returns (int) –

The OpenGL context handle current in the calling thread or None

Since : 1.6

#### gst_gl_context_get_proc_address_with_platform

    gpointer
    gst_gl_context_get_proc_address_with_platform (GstGLPlatform context_type,
                                                   GstGLAPI gl_api,
                                                   const gchar * name)

Attempts to use the context_type specific GetProcAddress implementations to retrieve name.

See also gst_gl_context_get_proc_address.

Parameters:

`context_type` –

a GstGLPlatform

`gl_api` –

a GstGLAPI

`name` –

the name of the function to retrieve

Returns –

a function pointer for name, or NULL

Since : 1.6

#### GstGL.GLContext.prototype.get_proc_address_with_platform

    function GstGL.GLContext.prototype.get_proc_address_with_platform(context_type: GstGL.GLPlatform, gl_api: GstGL.GLAPI, name: String): {
        // javascript wrapper for 'gst_gl_context_get_proc_address_with_platform'
    }

Attempts to use the context_type specific GetProcAddress implementations to retrieve name.

See also GstGL.GLContext.prototype.get_proc_address.

Parameters:

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform

`gl_api` (GstGL.GLAPI) –

a GstGL.GLAPI

`name` (String) –

the name of the function to retrieve

Returns (Object) –

a function pointer for name, or null

Since : 1.6

#### GstGL.GLContext.get_proc_address_with_platform

    def GstGL.GLContext.get_proc_address_with_platform (context_type, gl_api, name):
        #python wrapper for 'gst_gl_context_get_proc_address_with_platform'

Attempts to use the context_type specific GetProcAddress implementations to retrieve name.

See also GstGL.GLContext.get_proc_address.

Parameters:

`context_type` (GstGL.GLPlatform) –

a GstGL.GLPlatform

`gl_api` (GstGL.GLAPI) –

a GstGL.GLAPI

`name` (str) –

the name of the function to retrieve

Returns (object) –

a function pointer for name, or None

Since : 1.6

### Virtual Methods

#### activate

    gboolean
    activate (GstGLContext * context,
              gboolean activate)

call eglMakeCurrent or similar

Parameters:

`context` –
No description available
`activate` –
No description available
Returns –
No description available

#### vfunc_activate

    function vfunc_activate(context: GstGL.GLContext, activate: Number): {
        // javascript implementation of the 'activate' virtual method
    }

call eglMakeCurrent or similar

Parameters:

`context` (GstGL.GLContext) –
No description available
`activate` (Number) –
No description available
Returns (Number) –
No description available

#### do_activate

    def do_activate (context, activate):
        #python implementation of the 'activate' virtual method

call eglMakeCurrent or similar

Parameters:

`context` (GstGL.GLContext) –
No description available
`activate` (bool) –
No description available
Returns (bool) –
No description available

#### check_feature

    gboolean
    check_feature (GstGLContext * context,
                   const gchar * feature)

Parameters:

`context` –
No description available
`feature` –
No description available
Returns –
No description available

#### vfunc_check_feature

    function vfunc_check_feature(context: GstGL.GLContext, feature: String): {
        // javascript implementation of the 'check_feature' virtual method
    }

Parameters:

`context` (GstGL.GLContext) –
No description available
`feature` (String) –
No description available
Returns (Number) –
No description available

#### do_check_feature

    def do_check_feature (context, feature):
        #python implementation of the 'check_feature' virtual method

Parameters:

`context` (GstGL.GLContext) –
No description available
`feature` (str) –
No description available
Returns (bool) –
No description available

#### choose_format

    gboolean
    choose_format (GstGLContext * context,
                   GError ** error)

choose a format for the framebuffer

Parameters:

`context` –
No description available
`error` –
No description available
Returns –
No description available

#### vfunc_choose_format

    function vfunc_choose_format(context: GstGL.GLContext): {
        // javascript implementation of the 'choose_format' virtual method
    }

choose a format for the framebuffer

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (Number) –
No description available

#### do_choose_format

    def do_choose_format (context):
        #python implementation of the 'choose_format' virtual method

choose a format for the framebuffer

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (bool) –
No description available

#### create_context

    gboolean
    create_context (GstGLContext * context,
                    GstGLAPI gl_api,
                    GstGLContext * other_context,
                    GError ** error)

create the OpenGL context

Parameters:

`context` –
No description available
`gl_api` –
No description available
`other_context` –
No description available
`error` –
No description available
Returns –
No description available

#### vfunc_create_context

    function vfunc_create_context(context: GstGL.GLContext, gl_api: GstGL.GLAPI, other_context: GstGL.GLContext): {
        // javascript implementation of the 'create_context' virtual method
    }

create the OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available
`gl_api` (GstGL.GLAPI) –
No description available
`other_context` (GstGL.GLContext) –
No description available
Returns (Number) –
No description available

#### do_create_context

    def do_create_context (context, gl_api, other_context):
        #python implementation of the 'create_context' virtual method

create the OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available
`gl_api` (GstGL.GLAPI) –
No description available
`other_context` (GstGL.GLContext) –
No description available
Returns (bool) –
No description available

#### destroy_context

    destroy_context (GstGLContext * context)

destroy the OpenGL context

Parameters:

`context` –
No description available

#### vfunc_destroy_context

    function vfunc_destroy_context(context: GstGL.GLContext): {
        // javascript implementation of the 'destroy_context' virtual method
    }

destroy the OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available

#### do_destroy_context

    def do_destroy_context (context):
        #python implementation of the 'destroy_context' virtual method

destroy the OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available

#### get_config

    GstStructure *
    get_config (GstGLContext * context)

Retrieve the configuration in use by this context. See also gst_gl_context_get_config.

Parameters:

`context` –

the GstGLContext

Returns ( [transfer: full][nullable]) –

the configuration chosen for this GstGLContext

Since : 1.20

#### vfunc_get_config

    function vfunc_get_config(context: GstGL.GLContext): {
        // javascript implementation of the 'get_config' virtual method
    }

Retrieve the configuration in use by this context. See also GstGL.GLContext.prototype.get_config.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

Returns (Gst.Structure) –

the configuration chosen for this GstGL.GLContext

Since : 1.20

#### do_get_config

    def do_get_config (context):
        #python implementation of the 'get_config' virtual method

Retrieve the configuration in use by this context. See also GstGL.GLContext.get_config.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

Returns (Gst.Structure) –

the configuration chosen for this GstGL.GLContext

Since : 1.20

#### get_gl_api

    GstGLAPI
    get_gl_api (GstGLContext * context)

get the available OpenGL api's that this context can work with

Parameters:

`context` –
No description available
Returns –
No description available

#### vfunc_get_gl_api

    function vfunc_get_gl_api(context: GstGL.GLContext): {
        // javascript implementation of the 'get_gl_api' virtual method
    }

get the available OpenGL api's that this context can work with

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (GstGL.GLAPI) –
No description available

#### do_get_gl_api

    def do_get_gl_api (context):
        #python implementation of the 'get_gl_api' virtual method

get the available OpenGL api's that this context can work with

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (GstGL.GLAPI) –
No description available

#### get_gl_context

    guintptr
    get_gl_context (GstGLContext * context)

get the backing platform specific OpenGL context

Parameters:

`context` –
No description available
Returns –
No description available

#### vfunc_get_gl_context

    function vfunc_get_gl_context(context: GstGL.GLContext): {
        // javascript implementation of the 'get_gl_context' virtual method
    }

get the backing platform specific OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (Number) –
No description available

#### do_get_gl_context

    def do_get_gl_context (context):
        #python implementation of the 'get_gl_context' virtual method

get the backing platform specific OpenGL context

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (int) –
No description available

#### get_gl_platform

    GstGLPlatform
    get_gl_platform (GstGLContext * context)

Parameters:

`context` –
No description available
Returns –
No description available

#### vfunc_get_gl_platform

    function vfunc_get_gl_platform(context: GstGL.GLContext): {
        // javascript implementation of the 'get_gl_platform' virtual method
    }

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (GstGL.GLPlatform) –
No description available

#### do_get_gl_platform

    def do_get_gl_platform (context):
        #python implementation of the 'get_gl_platform' virtual method

Parameters:

`context` (GstGL.GLContext) –
No description available
Returns (GstGL.GLPlatform) –
No description available

#### get_gl_platform_version

    get_gl_platform_version (GstGLContext * context,
                             gint * major,
                             gint * minor)

Parameters:

`context` –
No description available
`major` –
No description available
`minor` –
No description available

#### vfunc_get_gl_platform_version

    function vfunc_get_gl_platform_version(context: GstGL.GLContext): {
        // javascript implementation of the 'get_gl_platform_version' virtual method
    }

Parameters:

`context` (GstGL.GLContext) –
No description available

#### do_get_gl_platform_version

    def do_get_gl_platform_version (context):
        #python implementation of the 'get_gl_platform_version' virtual method

Parameters:

`context` (GstGL.GLContext) –
No description available

#### request_config

    gboolean
    request_config (GstGLContext * context,
                    GstStructure * gl_config)

Request a configuration for this context to use.

Unknown fields within gl_config should be ignored by subclasses.

See also gst_gl_context_request_config.

Parameters:

`context` –

the GstGLContext

`gl_config` ( [nullable][transfer: full]) –

a configuration structure for configuring on context

Returns –

Whether gl_config could be successfull set on context.

Since : 1.20

#### vfunc_request_config

    function vfunc_request_config(context: GstGL.GLContext, gl_config: Gst.Structure): {
        // javascript implementation of the 'request_config' virtual method
    }

Request a configuration for this context to use.

Unknown fields within gl_config should be ignored by subclasses.

See also GstGL.GLContext.prototype.request_config.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

`gl_config` (Gst.Structure) –

a configuration structure for configuring on context

Returns (Number) –

Whether gl_config could be successfull set on context.

Since : 1.20

#### do_request_config

    def do_request_config (context, gl_config):
        #python implementation of the 'request_config' virtual method

Request a configuration for this context to use.

Unknown fields within gl_config should be ignored by subclasses.

See also GstGL.GLContext.request_config.

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext

`gl_config` (Gst.Structure) –

a configuration structure for configuring on context

Returns (bool) –

Whether gl_config could be successfull set on context.

Since : 1.20

#### swap_buffers

    swap_buffers (GstGLContext * context)

swap the default framebuffer's front/back buffers

Parameters:

`context` –
No description available

#### vfunc_swap_buffers

    function vfunc_swap_buffers(context: GstGL.GLContext): {
        // javascript implementation of the 'swap_buffers' virtual method
    }

swap the default framebuffer's front/back buffers

Parameters:

`context` (GstGL.GLContext) –
No description available

#### do_swap_buffers

    def do_swap_buffers (context):
        #python implementation of the 'swap_buffers' virtual method

swap the default framebuffer's front/back buffers

Parameters:

`context` (GstGL.GLContext) –
No description available

## Functions

### gst_gl_context_error_quark

    GQuark
    gst_gl_context_error_quark ()

Returns –

the quark used for GstGLContext in GError's

### GstGL.prototype.gl_context_error_quark

    function GstGL.prototype.gl_context_error_quark(): {
        // javascript wrapper for 'gst_gl_context_error_quark'
    }

Returns (GLib.Quark) –

the quark used for GstGL.GLContext in GLib.Error's

### GstGL.gl_context_error_quark

    def GstGL.gl_context_error_quark ():
        #python wrapper for 'gst_gl_context_error_quark'

Returns (GLib.Quark) –

the quark used for GstGL.GLContext in GLib.Error's

## Enumerations

### GstGLContextError

OpenGL context errors.

##### Members

`GST_GL_CONTEXT_ERROR_FAILED` (0) –

Failed for an unspecified reason

`GST_GL_CONTEXT_ERROR_WRONG_CONFIG` (1) –

The configuration requested is not correct

`GST_GL_CONTEXT_ERROR_WRONG_API` (2) –

The OpenGL API requested is not correct

`GST_GL_CONTEXT_ERROR_OLD_LIBS` (3) –

The OpenGL libraries are too old

`GST_GL_CONTEXT_ERROR_CREATE_CONTEXT` (4) –

glXCreateContext (or similar) failed

`GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE` (5) –

A resource is not available

### GstGL.GLContextError

OpenGL context errors.

##### Members

`GstGL.GLContextError.FAILED` (0) –

Failed for an unspecified reason

`GstGL.GLContextError.WRONG_CONFIG` (1) –

The configuration requested is not correct

`GstGL.GLContextError.WRONG_API` (2) –

The OpenGL API requested is not correct

`GstGL.GLContextError.OLD_LIBS` (3) –

The OpenGL libraries are too old

`GstGL.GLContextError.CREATE_CONTEXT` (4) –

glXCreateContext (or similar) failed

`GstGL.GLContextError.RESOURCE_UNAVAILABLE` (5) –

A resource is not available

### GstGL.GLContextError

OpenGL context errors.

##### Members

`GstGL.GLContextError.FAILED` (0) –

Failed for an unspecified reason

`GstGL.GLContextError.WRONG_CONFIG` (1) –

The configuration requested is not correct

`GstGL.GLContextError.WRONG_API` (2) –

The OpenGL API requested is not correct

`GstGL.GLContextError.OLD_LIBS` (3) –

The OpenGL libraries are too old

`GstGL.GLContextError.CREATE_CONTEXT` (4) –

glXCreateContext (or similar) failed

`GstGL.GLContextError.RESOURCE_UNAVAILABLE` (5) –

A resource is not available

## Constants

### GST_GL_CONTEXT_ERROR

    #define GST_GL_CONTEXT_ERROR (gst_gl_context_error_quark ())

Error domain for GStreamer's GL context module. Errors in this domain will be from the GstGLContextError enumeration

### GST_GL_CONTEXT_TYPE_CGL

    #define GST_GL_CONTEXT_TYPE_CGL "gst.gl.context.CGL"

### GstGL.GL_CONTEXT_TYPE_CGL

### GST_GL_CONTEXT_TYPE_EAGL

    #define GST_GL_CONTEXT_TYPE_EAGL "gst.gl.context.EAGL"

### GstGL.GL_CONTEXT_TYPE_EAGL

### GST_GL_CONTEXT_TYPE_EGL

    #define GST_GL_CONTEXT_TYPE_EGL "gst.gl.context.EGL"

### GstGL.GL_CONTEXT_TYPE_EGL

### GST_GL_CONTEXT_TYPE_GLX

    #define GST_GL_CONTEXT_TYPE_GLX "gst.gl.context.GLX"

### GstGL.GL_CONTEXT_TYPE_GLX

### GST_GL_CONTEXT_TYPE_WGL

    #define GST_GL_CONTEXT_TYPE_WGL "gst.gl.context.WGL"

### GstGL.GL_CONTEXT_TYPE_WGL

## Callbacks

### GstGLContextThreadFunc

    (*GstGLContextThreadFunc) (GstGLContext * context,
                               gpointer data)

Represents a function to run in the GL thread with context and data

Parameters:

`context` –

a GstGLContext

`data` –

user data

### GstGL.GLContextThreadFunc

    function GstGL.GLContextThreadFunc(context: GstGL.GLContext, data: Object): {
        // javascript wrapper for 'GstGLContextThreadFunc'
    }

Represents a function to run in the GL thread with context and data

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`data` (Object) –

user data

### GstGL.GLContextThreadFunc

    def GstGL.GLContextThreadFunc (context, data):
        #python wrapper for 'GstGLContextThreadFunc'

Represents a function to run in the GL thread with context and data

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`data` (object) –

user data

The results of the search are