# GstGLBuffer

GstGLBuffer is a GstMemory subclass providing support for the mapping of GL buffers.

Data is uploaded or downloaded from the GPU as is necessary.

## GstGLBuffer

Represents information about a GL buffer

### Members

`mem` (GstGLBaseMemory) –

the parent object

`id` (guint) –

the buffer id for this memory

`target` (guint) –

the OpenGL target of this texture for binding purposes

`usage_hints` (guint) –

the OpenGL usage hints this buffer was created with

## GstGL.GLBuffer

Represents information about a GL buffer

### Members

`mem` (GstGL.GLBaseMemory) –

the parent object

`id` (Number) –

the buffer id for this memory

`target` (Number) –

the OpenGL target of this texture for binding purposes

`usage_hints` (Number) –

the OpenGL usage hints this buffer was created with

## GstGL.GLBuffer

Represents information about a GL buffer

### Members

`mem` (GstGL.GLBaseMemory) –

the parent object

`id` (int) –

the buffer id for this memory

`target` (int) –

the OpenGL target of this texture for binding purposes

`usage_hints` (int) –

the OpenGL usage hints this buffer was created with

### Functions

#### gst_gl_buffer_init_once

    gst_gl_buffer_init_once ()

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

Since : 1.8

#### GstGL.prototype.gl_buffer_init_once

    function GstGL.prototype.gl_buffer_init_once(): {
        // javascript wrapper for 'gst_gl_buffer_init_once'
    }

Initializes the GL Buffer allocator. It is safe to call this function multiple times. This must be called before any other GstGL.GLBuffer operation.

Since : 1.8

#### GstGL.gl_buffer_init_once

    def GstGL.gl_buffer_init_once ():
        #python wrapper for 'gst_gl_buffer_init_once'

Initializes the GL Buffer allocator. It is safe to call this function multiple times. This must be called before any other GstGL.GLBuffer operation.

Since : 1.8

## GstGLBufferAllocationParams

### Members

`parent` (GstGLAllocationParams) –

parent object

`gl_target` (guint) –

the OpenGL target to bind the buffer to

`gl_usage` (guint) –

the OpenGL usage hint to create the buffer with

## GstGL.GLBufferAllocationParams

### Members

`parent` (GstGL.GLAllocationParams) –

parent object

`gl_target` (Number) –

the OpenGL target to bind the buffer to

`gl_usage` (Number) –

the OpenGL usage hint to create the buffer with

## GstGL.GLBufferAllocationParams

### Members

`parent` (GstGL.GLAllocationParams) –

parent object

`gl_target` (int) –

the OpenGL target to bind the buffer to

`gl_usage` (int) –

the OpenGL usage hint to create the buffer with

### Constructors

#### gst_gl_buffer_allocation_params_new

    GstGLBufferAllocationParams *
    gst_gl_buffer_allocation_params_new (GstGLContext * context,
                                         gsize alloc_size,
                                         const GstAllocationParams * alloc_params,
                                         guint gl_target,
                                         guint gl_usage)

Parameters:

`context` –

a GstGLContext

`alloc_size` –

the size in bytes to allocate

`alloc_params` ( [allow-none]) –

the GstAllocationParams for tex_id

`gl_target` –

the OpenGL target to allocate

`gl_usage` –

the OpenGL usage hint to allocate with

Returns –

a new GstGLBufferAllocationParams for allocating OpenGL buffer objects

Since : 1.8

#### GstGL.GLBufferAllocationParams.prototype.new

    function GstGL.GLBufferAllocationParams.prototype.new(context: GstGL.GLContext, alloc_size: Number, alloc_params: Gst.AllocationParams, gl_target: Number, gl_usage: Number): {
        // javascript wrapper for 'gst_gl_buffer_allocation_params_new'
    }

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`alloc_size` (Number) –

the size in bytes to allocate

`alloc_params` (Gst.AllocationParams) –

the Gst.AllocationParams for tex_id

`gl_target` (Number) –

the OpenGL target to allocate

`gl_usage` (Number) –

the OpenGL usage hint to allocate with

Returns (GstGL.GLBufferAllocationParams) –

a new GstGL.GLBufferAllocationParams for allocating OpenGL buffer objects

Since : 1.8

#### GstGL.GLBufferAllocationParams.new

    def GstGL.GLBufferAllocationParams.new (context, alloc_size, alloc_params, gl_target, gl_usage):
        #python wrapper for 'gst_gl_buffer_allocation_params_new'

Parameters:

`context` (GstGL.GLContext) –

a GstGL.GLContext

`alloc_size` (int) –

the size in bytes to allocate

`alloc_params` (Gst.AllocationParams) –

the Gst.AllocationParams for tex_id

`gl_target` (int) –

the OpenGL target to allocate

`gl_usage` (int) –

the OpenGL usage hint to allocate with

Returns (GstGL.GLBufferAllocationParams) –

a new GstGL.GLBufferAllocationParams for allocating OpenGL buffer objects

Since : 1.8

## GstGLBufferAllocator

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstAllocator
                    ╰──GstGLBaseMemoryAllocator
                        ╰──GstGLBufferAllocator

Opaque GstGLBufferAllocator struct

### Members

`parent` (GstGLBaseMemoryAllocator) –
No description available

### Class structure

#### GstGLBufferAllocatorClass

The GstGLBufferAllocatorClass only contains private data

##### Fields

`parent_class` (GstGLBaseMemoryAllocatorClass) –
No description available

### GstGL.GLBufferAllocatorClass

The GstGL.GLBufferAllocatorClass only contains private data

##### Attributes

`parent_class` (GstGL.GLBaseMemoryAllocatorClass) –
No description available

### GstGL.GLBufferAllocatorClass

The GstGL.GLBufferAllocatorClass only contains private data

##### Attributes

`parent_class` (GstGL.GLBaseMemoryAllocatorClass) –
No description available

## GstGL.GLBufferAllocator

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Allocator
                    ╰──GstGL.GLBaseMemoryAllocator
                        ╰──GstGL.GLBufferAllocator

Opaque GstGL.GLBufferAllocator struct

### Members

`parent` (GstGL.GLBaseMemoryAllocator) –
No description available

## GstGL.GLBufferAllocator

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Allocator
                    ╰──GstGL.GLBaseMemoryAllocator
                        ╰──GstGL.GLBufferAllocator

Opaque GstGL.GLBufferAllocator struct

### Members

`parent` (GstGL.GLBaseMemoryAllocator) –
No description available

## Functions

### gst_is_gl_buffer

    gboolean
    gst_is_gl_buffer (GstMemory * mem)

Parameters:

`mem` –

a GstMemory

Returns –

whether the memory at mem is a GstGLBuffer

Since : 1.8

### GstGL.prototype.is_gl_buffer

    function GstGL.prototype.is_gl_buffer(mem: Gst.Memory): {
        // javascript wrapper for 'gst_is_gl_buffer'
    }

Parameters:

`mem` (Gst.Memory) –

a Gst.Memory

Returns (Number) –

whether the memory at mem is a GstGL.GLBuffer

Since : 1.8

### GstGL.is_gl_buffer

    def GstGL.is_gl_buffer (mem):
        #python wrapper for 'gst_is_gl_buffer'

Parameters:

`mem` (Gst.Memory) –

a Gst.Memory

Returns (bool) –

whether the memory at mem is a GstGL.GLBuffer

Since : 1.8

## Function Macros

### GST_GL_BUFFER_ALLOCATOR_CAST

    #define GST_GL_BUFFER_ALLOCATOR_CAST(obj)            ((GstGLBufferAllocator *)(obj))

## Constants

### GST_CAPS_FEATURE_MEMORY_GL_BUFFER

    #define GST_CAPS_FEATURE_MEMORY_GL_BUFFER "memory:GLBuffer"

Name of the caps feature indicating the use of GL buffers

### GstGL.CAPS_FEATURE_MEMORY_GL_BUFFER

Name of the caps feature indicating the use of GL buffers

### GstGL.CAPS_FEATURE_MEMORY_GL_BUFFER

Name of the caps feature indicating the use of GL buffers

### GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER

    #define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER (1 << 4)

GL allocation flag indicating the allocation of a GL buffer.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER

GL allocation flag indicating the allocation of a GL buffer.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER

GL allocation flag indicating the allocation of a GL buffer.

### GST_GL_BUFFER_ALLOCATOR_NAME

    #define GST_GL_BUFFER_ALLOCATOR_NAME   "GLBuffer"

The name of the GL buffer allocator

### GstGL.GL_BUFFER_ALLOCATOR_NAME

The name of the GL buffer allocator

### GstGL.GL_BUFFER_ALLOCATOR_NAME

The name of the GL buffer allocator

### GST_TYPE_GL_BUFFER

    #define GST_TYPE_GL_BUFFER (gst_gl_buffer_get_type())

The results of the search are