## GstGLRenderBuffer

GstGLRenderBuffer — memory subclass for GL renderbuffer objects

## Functions

GstGLRenderbufferAllocationParams * | gst_gl_renderbuffer_allocation_params_new ()
GstGLRenderbufferAllocationParams * | gst_gl_renderbuffer_allocation_params_new_wrapped ()
gint | gst_gl_renderbuffer_get_height ()
guint | gst_gl_renderbuffer_get_id ()
GstGLFormat | gst_gl_renderbuffer_get_format ()
gint | gst_gl_renderbuffer_get_width ()
void | gst_gl_renderbuffer_init_once ()
gboolean | gst_is_gl_renderbuffer ()

## Types and Values

| GstGLRenderbuffer
| GstGLRenderbufferAllocator
| GstGLRenderbufferAllocatorClass
struct | GstGLRenderbufferAllocationParams
#define | GST_GL_RENDERBUFFER_ALLOCATOR_NAME

## Object Hierarchy

        GBoxed
        ╰── GstGLRenderbufferAllocationParams
        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstAllocator
                    ╰── GstGLBaseMemoryAllocator
                        ╰── GstGLRenderbufferAllocator

## Includes

    #include <gst/gl/gl.h>

## Description

GstGLRenderbuffer is a GstGLBaseMemory subclass providing support for OpenGL renderbuffers.

GstGLRenderbuffer is created or wrapped through `gst_gl_base_memory_alloc()` with GstGLRenderbufferAllocationParams.

## Functions

### gst_gl_renderbuffer_allocation_params_new ()

    GstGLRenderbufferAllocationParams *
    gst_gl_renderbuffer_allocation_params_new
                                   (GstGLContext *context,
                                    GstAllocationParams *alloc_params,
                                    GstGLFormat renderbuffer_format,
                                    guint width,
                                    guint height);

#### Parameters

context | a GstGLContext |
alloc_params | the GstAllocationParams for sysmem mappings of the texture. | [allow-none]
width | the width of the renderbuffer |
height | the height of the renderbuffer |
renderbuffer_format | the GstGLFormat for the created textures |

#### Returns

a new GstGLRenderbufferAllocationParams for allocating GstGLRenderbuffer's

Since: 1.10

### gst_gl_renderbuffer_allocation_params_new_wrapped ()

    GstGLRenderbufferAllocationParams *
    gst_gl_renderbuffer_allocation_params_new_wrapped
                                   (GstGLContext *context,
                                    GstAllocationParams *alloc_params,
                                    GstGLFormat renderbuffer_format,
                                    guint width,
                                    guint height,
                                    gpointer gl_handle,
                                    gpointer user_data,
                                    GDestroyNotify notify);

#### Parameters

context | a GstGLContext |
alloc_params | the GstAllocationParams for `tex_id` . | [allow-none]
width | the width of the renderbuffer |
height | the height of the renderbuffer |
renderbuffer_format | the GstGLFormat for `tex_id` |
gl_handle | the GL handle to wrap |
user_data | user data to call `notify` with. | [allow-none]
notify | a GDestroyNotify. | [allow-none]

#### Returns

a new GstGLRenderbufferAllocationParams for wrapping `gl_handle` as a renderbuffer

Since: 1.10

### gst_gl_renderbuffer_get_height ()

    gint
    gst_gl_renderbuffer_get_height (GstGLRenderbuffer *gl_mem);

#### Parameters

gl_mem | a GstGLRenderbuffer |

#### Returns

the configured height of `gl_mem`

Since: 1.10

### gst_gl_renderbuffer_get_id ()

    guint
    gst_gl_renderbuffer_get_id (GstGLRenderbuffer *gl_mem);

#### Parameters

gl_mem | a GstGLRenderbuffer |

#### Returns

the OpenGL renderbuffer handle of `gl_mem`

Since: 1.10

### gst_gl_renderbuffer_get_format ()

    GstGLFormat
    gst_gl_renderbuffer_get_format (GstGLRenderbuffer *gl_mem);

#### Parameters

gl_mem | a GstGLRenderbuffer |

#### Returns

the GstGLFormat of `gl_mem`

Since: 1.12

### gst_gl_renderbuffer_get_width ()

    gint
    gst_gl_renderbuffer_get_width (GstGLRenderbuffer *gl_mem);

#### Parameters

gl_mem | a GstGLRenderbuffer |

#### Returns

the configured width of `gl_mem`

Since: 1.10

### gst_gl_renderbuffer_init_once ()

    void
    gst_gl_renderbuffer_init_once (void);

Initializes the GL Base Texture allocator. It is safe to call this function multiple times. This must be called before any other GstGLRenderbuffer operation.

Since: 1.10

### gst_is_gl_renderbuffer ()

    gboolean
    gst_is_gl_renderbuffer (GstMemory *mem);

#### Parameters

mem | a GstMemory |

#### Returns

whether the memory at `mem` is a GstGLRenderbuffer

Since: 1.10

## Types and Values

### GstGLRenderbuffer

    typedef struct {
      guint                     renderbuffer_id;
      GstGLFormat               renderbuffer_format;
      guint                     width;
      guint                     height;
    } GstGLRenderbuffer;

Represents information about a GL renderbuffer

#### Members

guint `renderbuffer_id`; | the GL texture id for this memory |
GstGLFormat `renderbuffer_format`; | the texture type |
guint `width`; | the width |
guint `height`; | the height |

### GstGLRenderbufferAllocator

    typedef struct _GstGLRenderbufferAllocator GstGLRenderbufferAllocator;

Opaque GstGLRenderbufferAllocator struct

### GstGLRenderbufferAllocatorClass

    typedef struct {
      GstGLBaseMemoryAllocatorClass             parent_class;
    } GstGLRenderbufferAllocatorClass;

The GstGLRenderbufferAllocatorClass only contains private data

### struct GstGLRenderbufferAllocationParams

    struct GstGLRenderbufferAllocationParams {
      GstGLFormat renderbuffer_format;
      guint width;
      guint height;
    };

Allocation parameters

#### Members

GstGLFormat `renderbuffer_format`; | the GstGLFormat |
guint `width`; | the width |
guint `height`; | the height |

### GST_GL_RENDERBUFFER_ALLOCATOR_NAME

    #define GST_GL_RENDERBUFFER_ALLOCATOR_NAME   "GLRenderbuffer"

The name of the GL renderbuffer allocator

## See Also

GstMemory, GstAllocator