# GstGLUtils

## Functions

### gst_gl_element_propagate_display_context

    gst_gl_element_propagate_display_context (GstElement * element,
                                              GstGLDisplay * display)

Parameters:

`element` –
No description available
`display` –
No description available

### GstGL.prototype.gl_element_propagate_display_context

    function GstGL.prototype.gl_element_propagate_display_context(element: Gst.Element, display: GstGL.GLDisplay): {
        // javascript wrapper for 'gst_gl_element_propagate_display_context'
    }

Parameters:

`element` (Gst.Element) –
No description available
`display` (GstGL.GLDisplay) –
No description available

### GstGL.gl_element_propagate_display_context

    def GstGL.gl_element_propagate_display_context (element, display):
        #python wrapper for 'gst_gl_element_propagate_display_context'

Parameters:

`element` (Gst.Element) –
No description available
`display` (GstGL.GLDisplay) –
No description available

### gst_gl_ensure_element_data

    gboolean
    gst_gl_ensure_element_data (gpointer element,
                                GstGLDisplay ** display_ptr,
                                GstGLContext ** other_context_ptr)

Perform the steps necessary for retrieving a GstGLDisplay and (optionally) an application provided GstGLContext from the surrounding elements or from the application using the GstContext mechanism.

If the contents of display_ptr or other_context_ptr are not NULL, then no GstContext query is necessary for GstGLDisplay or GstGLContext retrieval or is performed.

This performs GstContext queries (if necessary) for a winsys display connection with GST_GL_DISPLAY_CONTEXT_TYPE, "gst.x11.display.handle", and "GstWaylandDisplayHandleContextType" stopping after the first successful retrieval.

This also performs a GstContext query (if necessary) for an optional application provided GstGLContext using the name "gst.gl.app_context". The returned GstGLContext will be shared with a GStreamer created OpenGL context.

Parameters:

`element` ( [typeGst.Element]) –

the GstElement running the query

`display_ptr` ( [inout]) –

the resulting GstGLDisplay

`other_context_ptr` ( [inout]) –

the resulting GstGLContext

Returns –

whether a GstGLDisplay exists in display_ptr

### GstGL.prototype.gl_ensure_element_data

    function GstGL.prototype.gl_ensure_element_data(element: Gst.Element, display_ptr: GstGL.GLDisplay, other_context_ptr: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_ensure_element_data'
    }

Perform the steps necessary for retrieving a GstGL.GLDisplay and (optionally) an application provided GstGL.GLContext from the surrounding elements or from the application using the Gst.Context mechanism.

If the contents of display_ptr or other_context_ptr are not NULL, then no Gst.Context query is necessary for GstGL.GLDisplay or GstGL.GLContext retrieval or is performed.

This performs Gst.Context queries (if necessary) for a winsys display connection with GstGL.GL_DISPLAY_CONTEXT_TYPE, "gst.x11.display.handle", and "GstWaylandDisplayHandleContextType" stopping after the first successful retrieval.

This also performs a Gst.Context query (if necessary) for an optional application provided GstGL.GLContext using the name "gst.gl.app_context". The returned GstGL.GLContext will be shared with a GStreamer created OpenGL context.

Parameters:

`element` (Gst.Element) –

the Gst.Element running the query

`display_ptr` (GstGL.GLDisplay) –

the resulting GstGL.GLDisplay

`other_context_ptr` (GstGL.GLContext) –

the resulting GstGL.GLContext

Returns a tuple made of:

(Number ) –

whether a GstGL.GLDisplay exists in display_ptr

`display_ptr` (GstGL.GLDisplay ) –

whether a GstGL.GLDisplay exists in display_ptr

`other_context_ptr` (GstGL.GLContext ) –

whether a GstGL.GLDisplay exists in display_ptr

### GstGL.gl_ensure_element_data

    def GstGL.gl_ensure_element_data (element, display_ptr, other_context_ptr):
        #python wrapper for 'gst_gl_ensure_element_data'

Perform the steps necessary for retrieving a GstGL.GLDisplay and (optionally) an application provided GstGL.GLContext from the surrounding elements or from the application using the Gst.Context mechanism.

If the contents of display_ptr or other_context_ptr are not NULL, then no Gst.Context query is necessary for GstGL.GLDisplay or GstGL.GLContext retrieval or is performed.

This performs Gst.Context queries (if necessary) for a winsys display connection with GstGL.GL_DISPLAY_CONTEXT_TYPE, "gst.x11.display.handle", and "GstWaylandDisplayHandleContextType" stopping after the first successful retrieval.

This also performs a Gst.Context query (if necessary) for an optional application provided GstGL.GLContext using the name "gst.gl.app_context". The returned GstGL.GLContext will be shared with a GStreamer created OpenGL context.

Parameters:

`element` (Gst.Element) –

the Gst.Element running the query

`display_ptr` (GstGL.GLDisplay) –

the resulting GstGL.GLDisplay

`other_context_ptr` (GstGL.GLContext) –

the resulting GstGL.GLContext

Returns a tuple made of:

(bool ) –

whether a GstGL.GLDisplay exists in display_ptr

`display_ptr` (GstGL.GLDisplay ) –

whether a GstGL.GLDisplay exists in display_ptr

`other_context_ptr` (GstGL.GLContext ) –

whether a GstGL.GLDisplay exists in display_ptr

### gst_gl_get_affine_transformation_meta_as_ndc

    gst_gl_get_affine_transformation_meta_as_ndc (GstVideoAffineTransformationMeta * meta,
                                                  gfloat* matrix)

Retrieves the stored 4x4 affine transformation matrix stored in meta in NDC coordinates. if meta is NULL, an identity matrix is returned.

NDC is a left-handed coordinate system

- x - [-1, 1] - +ve X moves right
- y - [-1, 1] - +ve Y moves up
- z - [-1, 1] - +ve Z moves into

Parameters:

`meta` ( [nullable]) –

a GstVideoAffineTransformationMeta

`matrix` ( [arrayfixed-size=16][out]) –

result of the 4x4 matrix

Since : 1.20

### GstGL.prototype.gl_get_affine_transformation_meta_as_ndc

    function GstGL.prototype.gl_get_affine_transformation_meta_as_ndc(meta: GstVideo.VideoAffineTransformationMeta): {
        // javascript wrapper for 'gst_gl_get_affine_transformation_meta_as_ndc'
    }

Retrieves the stored 4x4 affine transformation matrix stored in meta in NDC coordinates. if meta is NULL, an identity matrix is returned.

NDC is a left-handed coordinate system

- x - [-1, 1] - +ve X moves right
- y - [-1, 1] - +ve Y moves up
- z - [-1, 1] - +ve Z moves into

Parameters:

`meta` (GstVideo.VideoAffineTransformationMeta) –

a GstVideo.VideoAffineTransformationMeta

Since : 1.20

### GstGL.gl_get_affine_transformation_meta_as_ndc

    def GstGL.gl_get_affine_transformation_meta_as_ndc (meta):
        #python wrapper for 'gst_gl_get_affine_transformation_meta_as_ndc'

Retrieves the stored 4x4 affine transformation matrix stored in meta in NDC coordinates. if meta is NULL, an identity matrix is returned.

NDC is a left-handed coordinate system

- x - [-1, 1] - +ve X moves right
- y - [-1, 1] - +ve Y moves up
- z - [-1, 1] - +ve Z moves into

Parameters:

`meta` (GstVideo.VideoAffineTransformationMeta) –

a GstVideo.VideoAffineTransformationMeta

Since : 1.20

### gst_gl_get_plane_data_size

    gsize
    gst_gl_get_plane_data_size (const GstVideoInfo * info,
                                const GstVideoAlignment * align,
                                guint plane)

Retrieve the size in bytes of a video plane of data with a certain alignment

Parameters:

`info` –

a GstVideoInfo

`align` –

a GstVideoAlignment or NULL

`plane` –

plane number in info to retrieve the data size of

Returns –
No description available

### GstGL.prototype.gl_get_plane_data_size

    function GstGL.prototype.gl_get_plane_data_size(info: GstVideo.VideoInfo, align: GstVideo.VideoAlignment, plane: Number): {
        // javascript wrapper for 'gst_gl_get_plane_data_size'
    }

Retrieve the size in bytes of a video plane of data with a certain alignment

Parameters:

`info` (GstVideo.VideoInfo) –

a GstVideo.VideoInfo

`align` (GstVideo.VideoAlignment) –

a GstVideo.VideoAlignment or NULL

`plane` (Number) –

plane number in info to retrieve the data size of

Returns (Number) –
No description available

### GstGL.gl_get_plane_data_size

    def GstGL.gl_get_plane_data_size (info, align, plane):
        #python wrapper for 'gst_gl_get_plane_data_size'

Retrieve the size in bytes of a video plane of data with a certain alignment

Parameters:

`info` (GstVideo.VideoInfo) –

a GstVideo.VideoInfo

`align` (GstVideo.VideoAlignment) –

a GstVideo.VideoAlignment or NULL

`plane` (int) –

plane number in info to retrieve the data size of

Returns (int) –
No description available

### gst_gl_get_plane_start

    gsize
    gst_gl_get_plane_start (const GstVideoInfo * info,
                            const GstVideoAlignment * valign,
                            guint plane)

Parameters:

`info` –

a GstVideoInfo

`valign` –

a GstVideoAlignment or NULL

`plane` –

plane number in info to retrieve the data size of

Returns –

difference between the supposed start of the plane from the info and where the data from the previous plane ends.

### GstGL.prototype.gl_get_plane_start

    function GstGL.prototype.gl_get_plane_start(info: GstVideo.VideoInfo, valign: GstVideo.VideoAlignment, plane: Number): {
        // javascript wrapper for 'gst_gl_get_plane_start'
    }

Parameters:

`info` (GstVideo.VideoInfo) –

a GstVideo.VideoInfo

`valign` (GstVideo.VideoAlignment) –

a GstVideo.VideoAlignment or NULL

`plane` (Number) –

plane number in info to retrieve the data size of

Returns (Number) –

difference between the supposed start of the plane from the info and where the data from the previous plane ends.

### GstGL.gl_get_plane_start

    def GstGL.gl_get_plane_start (info, valign, plane):
        #python wrapper for 'gst_gl_get_plane_start'

Parameters:

`info` (GstVideo.VideoInfo) –

a GstVideo.VideoInfo

`valign` (GstVideo.VideoAlignment) –

a GstVideo.VideoAlignment or NULL

`plane` (int) –

plane number in info to retrieve the data size of

Returns (int) –

difference between the supposed start of the plane from the info and where the data from the previous plane ends.

### gst_gl_handle_context_query

    gboolean
    gst_gl_handle_context_query (GstElement * element,
                                 GstQuery * query,
                                 GstGLDisplay * display,
                                 GstGLContext * context,
                                 GstGLContext * other_context)

Parameters:

`element` –

a GstElement

`query` –

a GstQuery of type GST_QUERY_CONTEXT

`display` ( [transfer: none][nullable]) –

a GstGLDisplay

`context` ( [transfer: none][nullable]) –

a GstGLContext

`other_context` ( [transfer: none][nullable]) –

application provided GstGLContext

Returns –

Whether the query was successfully responded to from the passed display, context, and other_context.

### GstGL.prototype.gl_handle_context_query

    function GstGL.prototype.gl_handle_context_query(element: Gst.Element, query: Gst.Query, display: GstGL.GLDisplay, context: GstGL.GLContext, other_context: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_handle_context_query'
    }

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

`context` (GstGL.GLContext) –

a GstGL.GLContext

`other_context` (GstGL.GLContext) –

application provided GstGL.GLContext

Returns (Number) –

Whether the query was successfully responded to from the passed display, context, and other_context.

### GstGL.gl_handle_context_query

    def GstGL.gl_handle_context_query (element, query, display, context, other_context):
        #python wrapper for 'gst_gl_handle_context_query'

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`display` (GstGL.GLDisplay) –

a GstGL.GLDisplay

`context` (GstGL.GLContext) –

a GstGL.GLContext

`other_context` (GstGL.GLContext) –

application provided GstGL.GLContext

Returns (bool) –

Whether the query was successfully responded to from the passed display, context, and other_context.

### gst_gl_handle_set_context

    gboolean
    gst_gl_handle_set_context (GstElement * element,
                               GstContext * context,
                               GstGLDisplay ** display,
                               GstGLContext ** other_context)

Helper function for implementing set_context() in OpenGL capable elements.

Retrieve's the GstGLDisplay or GstGLContext in context and places the result in display or other_context respectively.

Parameters:

`element` –

a GstElement

`context` –

a GstContext

`display` ( [out][transfer: full]) –

location of a GstGLDisplay

`other_context` ( [out][transfer: full]) –

location of a GstGLContext

Returns –

whether the display or other_context could be set successfully

### GstGL.prototype.gl_handle_set_context

    function GstGL.prototype.gl_handle_set_context(element: Gst.Element, context: Gst.Context): {
        // javascript wrapper for 'gst_gl_handle_set_context'
    }

Helper function for implementing vfunc_set_context() in OpenGL capable elements.

Retrieve's the GstGL.GLDisplay or GstGL.GLContext in context and places the result in display or other_context respectively.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`context` (Gst.Context) –

a Gst.Context

Returns a tuple made of:

(Number ) –

whether the display or other_context could be set successfully

`display` (GstGL.GLDisplay ) –

whether the display or other_context could be set successfully

`other_context` (GstGL.GLContext ) –

whether the display or other_context could be set successfully

### GstGL.gl_handle_set_context

    def GstGL.gl_handle_set_context (element, context):
        #python wrapper for 'gst_gl_handle_set_context'

Helper function for implementing do_set_context() in OpenGL capable elements.

Retrieve's the GstGL.GLDisplay or GstGL.GLContext in context and places the result in display or other_context respectively.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`context` (Gst.Context) –

a Gst.Context

Returns a tuple made of:

(bool ) –

whether the display or other_context could be set successfully

`display` (GstGL.GLDisplay ) –

whether the display or other_context could be set successfully

`other_context` (GstGL.GLContext ) –

whether the display or other_context could be set successfully

### gst_gl_multiply_matrix4

    gst_gl_multiply_matrix4 (const gfloat* a,
                             const gfloat* b,
                             gfloat* result)

Multiplies two 4x4 matrices, a and b, and stores the result, a 2-dimensional array of gfloat, in result.

Parameters:

`a` ( [arrayfixed-size=16]) –

a 2-dimensional 4x4 array of gfloat

`b` ( [arrayfixed-size=16]) –

another 2-dimensional 4x4 array of gfloat

`result` ( [out][arrayfixed-size=16]) –

the result of the multiplication

Since : 1.20

### GstGL.prototype.gl_multiply_matrix4

    function GstGL.prototype.gl_multiply_matrix4(a: [ Number ], b: [ Number ]): {
        // javascript wrapper for 'gst_gl_multiply_matrix4'
    }

Multiplies two 4x4 matrices, a and b, and stores the result, a 2-dimensional array of gfloat, in result.

Parameters:

`a` ([ Number ]) –

a 2-dimensional 4x4 array of gfloat

`b` ([ Number ]) –

another 2-dimensional 4x4 array of gfloat

Since : 1.20

### GstGL.gl_multiply_matrix4

    def GstGL.gl_multiply_matrix4 (a, b):
        #python wrapper for 'gst_gl_multiply_matrix4'

Multiplies two 4x4 matrices, a and b, and stores the result, a 2-dimensional array of gfloat, in result.

Parameters:

`a` ([ float ]) –

a 2-dimensional 4x4 array of gfloat

`b` ([ float ]) –

another 2-dimensional 4x4 array of gfloat

Since : 1.20

### gst_gl_set_affine_transformation_meta_from_ndc

    gst_gl_set_affine_transformation_meta_from_ndc (GstVideoAffineTransformationMeta * meta,
                                                    const gfloat* matrix)

Set the 4x4 affine transformation matrix stored in meta from the NDC coordinates in matrix.

Parameters:

`meta` –

a GstVideoAffineTransformationMeta

`matrix` ( [arrayfixed-size=16]) –

a 4x4 matrix

Since : 1.20

### GstGL.prototype.gl_set_affine_transformation_meta_from_ndc

    function GstGL.prototype.gl_set_affine_transformation_meta_from_ndc(meta: GstVideo.VideoAffineTransformationMeta, matrix: [ Number ]): {
        // javascript wrapper for 'gst_gl_set_affine_transformation_meta_from_ndc'
    }

Set the 4x4 affine transformation matrix stored in meta from the NDC coordinates in matrix.

Parameters:

`meta` (GstVideo.VideoAffineTransformationMeta) –

a GstVideo.VideoAffineTransformationMeta

`matrix` ([ Number ]) –

a 4x4 matrix

Since : 1.20

### GstGL.gl_set_affine_transformation_meta_from_ndc

    def GstGL.gl_set_affine_transformation_meta_from_ndc (meta, matrix):
        #python wrapper for 'gst_gl_set_affine_transformation_meta_from_ndc'

Set the 4x4 affine transformation matrix stored in meta from the NDC coordinates in matrix.

Parameters:

`meta` (GstVideo.VideoAffineTransformationMeta) –

a GstVideo.VideoAffineTransformationMeta

`matrix` ([ float ]) –

a 4x4 matrix

Since : 1.20

### gst_gl_value_get_texture_target_mask

    GstGLTextureTarget
    gst_gl_value_get_texture_target_mask (const GValue * value)

See gst_gl_value_set_texture_target_from_mask for what entails a mask

Parameters:

`value` –

an initialized GValue of type G_TYPE_STRING

Returns –

the mask of GstGLTextureTarget's in value or GST_GL_TEXTURE_TARGET_NONE on failure

### GstGL.prototype.gl_value_get_texture_target_mask

    function GstGL.prototype.gl_value_get_texture_target_mask(value: GObject.Value): {
        // javascript wrapper for 'gst_gl_value_get_texture_target_mask'
    }

See GstGL.prototype.gl_value_set_texture_target_from_mask for what entails a mask

Parameters:

`value` (GObject.Value) –

an initialized GObject.Value of type G_TYPE_STRING

Returns (GstGL.GLTextureTarget) –

the mask of GstGL.GLTextureTarget's in value or GstGL.GLTextureTarget.NONE on failure

### GstGL.gl_value_get_texture_target_mask

    def GstGL.gl_value_get_texture_target_mask (value):
        #python wrapper for 'gst_gl_value_get_texture_target_mask'

See GstGL.gl_value_set_texture_target_from_mask for what entails a mask

Parameters:

`value` (GObject.Value) –

an initialized GObject.Value of type G_TYPE_STRING

Returns (GstGL.GLTextureTarget) –

the mask of GstGL.GLTextureTarget's in value or GstGL.GLTextureTarget.NONE on failure

### gst_gl_value_set_texture_target

    gboolean
    gst_gl_value_set_texture_target (GValue * value,
                                     GstGLTextureTarget target)

Parameters:

`value` –

an initialized GValue of type G_TYPE_STRING

`target` –

a GstGLTextureTarget's

Returns –

whether the target could be set on value

### GstGL.prototype.gl_value_set_texture_target

    function GstGL.prototype.gl_value_set_texture_target(value: GObject.Value, target: GstGL.GLTextureTarget): {
        // javascript wrapper for 'gst_gl_value_set_texture_target'
    }

Parameters:

`value` (GObject.Value) –

an initialized GObject.Value of type G_TYPE_STRING

`target` (GstGL.GLTextureTarget) –

a GstGL.GLTextureTarget's

Returns (Number) –

whether the target could be set on value

### GstGL.gl_value_set_texture_target

    def GstGL.gl_value_set_texture_target (value, target):
        #python wrapper for 'gst_gl_value_set_texture_target'

Parameters:

`value` (GObject.Value) –

an initialized GObject.Value of type G_TYPE_STRING

`target` (GstGL.GLTextureTarget) –

a GstGL.GLTextureTarget's

Returns (bool) –

whether the target could be set on value

### gst_gl_value_set_texture_target_from_mask

    gboolean
    gst_gl_value_set_texture_target_from_mask (GValue * value,
                                               GstGLTextureTarget target_mask)

A mask is a bitwise OR of (1 << target) where target is a valid GstGLTextureTarget

Parameters:

`value` –

an uninitialized GValue

`target_mask` –

a bitwise mask of GstGLTextureTarget's

Returns –

whether the target_mask could be set on value

### GstGL.prototype.gl_value_set_texture_target_from_mask

    function GstGL.prototype.gl_value_set_texture_target_from_mask(value: GObject.Value, target_mask: GstGL.GLTextureTarget): {
        // javascript wrapper for 'gst_gl_value_set_texture_target_from_mask'
    }

A mask is a bitwise OR of (1 << target) where target is a valid GstGL.GLTextureTarget

Parameters:

`value` (GObject.Value) –

an uninitialized GObject.Value

`target_mask` (GstGL.GLTextureTarget) –

a bitwise mask of GstGL.GLTextureTarget's

Returns (Number) –

whether the target_mask could be set on value

### GstGL.gl_value_set_texture_target_from_mask

    def GstGL.gl_value_set_texture_target_from_mask (value, target_mask):
        #python wrapper for 'gst_gl_value_set_texture_target_from_mask'

A mask is a bitwise OR of (1 << target) where target is a valid GstGL.GLTextureTarget

Parameters:

`value` (GObject.Value) –

an uninitialized GObject.Value

`target_mask` (GstGL.GLTextureTarget) –

a bitwise mask of GstGL.GLTextureTarget's

Returns (bool) –

whether the target_mask could be set on value

The results of the search are