## OpenGL Miscellaneous Utilities OpenGL Miscellaneous Utilities — some miscellaneous utilities for OpenGL |

## Functions

gboolean | gst_gl_handle_set_context ()
gboolean | gst_gl_handle_context_query ()
gboolean | gst_gl_context_check_framebuffer_status ()
GstCaps * | gst_gl_caps_replace_all_caps_features ()
gboolean | gst_gl_ensure_element_data ()
gsize | gst_gl_get_plane_data_size ()
gsize | gst_gl_get_plane_start ()
gboolean | gst_gl_run_query ()
GstGLTextureTarget | gst_gl_value_get_texture_target_mask ()
gboolean | gst_gl_value_set_texture_target ()
gboolean | gst_gl_value_set_texture_target_from_mask ()
void | gst_gl_get_affine_transformation_meta_as_ndc ()
void | gst_gl_multiply_matrix4 ()
gboolean | gst_gl_context_gen_shader ()
void | gst_gl_context_del_shader ()

## Description

## Functions

### gst_gl_handle_set_context ()

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

### gst_gl_handle_context_query ()

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

### gst_gl_context_check_framebuffer_status ()

    gboolean
    gst_gl_context_check_framebuffer_status
                                   (GstGLContext *context);

#### Parameters

context | a GstGLContext |

#### Returns

whether whether the current framebuffer is complete

Since: 1.10

### gst_gl_caps_replace_all_caps_features ()

    GstCaps *
    gst_gl_caps_replace_all_caps_features (const GstCaps *caps,
                                           const gchar *feature_name);

### gst_gl_ensure_element_data ()

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

### gst_gl_get_plane_data_size ()

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

### gst_gl_get_plane_start ()

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

### gst_gl_run_query ()

    gboolean
    gst_gl_run_query (GstElement *element,
                      GstQuery *query,
                      GstPadDirection direction);

### 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`

### 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`

### 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`

### gst_gl_get_affine_transformation_meta_as_ndc ()

    void
    gst_gl_get_affine_transformation_meta_as_ndc
                                   (GstVideoAffineTransformationMeta *meta,
                                    gfloat *matrix);

### gst_gl_multiply_matrix4 ()

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

### gst_gl_context_gen_shader ()

    gboolean
    gst_gl_context_gen_shader (GstGLContext *context,
                               const gchar *shader_vertex_source,
                               const gchar *shader_fragment_source,
                               GstGLShader **shader);

### gst_gl_context_del_shader ()

    void
    gst_gl_context_del_shader (GstGLContext *context,
                               GstGLShader *shader);

## Types and Values

## See Also

GstGLContext