# GstGLBaseMemory

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

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

## GstGLAllocationParams

### Members

`struct_size` (gsize) –

the size of the struct (including and subclass data)

`copy` (GstGLAllocationParamsCopyFunc) –

a GstGLAllocationParamsCopyFunc

`free` (GstGLAllocationParamsFreeFunc) –

a GstGLAllocationParamsFreeFunc

`alloc_flags` (guint) –

allocation flags

`alloc_size` (gsize) –

the allocation size

`alloc_params` (GstAllocationParams *) –

the GstAllocationParams

`context` (GstGLContext *) –

a GstGLContext

`notify` (GDestroyNotify) –

a GDestroyNotify

`user_data` (gpointer) –

argument to call notify with

`wrapped_data` (gpointer) –

the wrapped data pointer

`gl_handle` (gpointer) –

the wrapped OpenGL handle

## GstGL.GLAllocationParams

### Members

`struct_size` (Number) –

the size of the struct (including and subclass data)

`copy` (GstGL.GLAllocationParamsCopyFunc) –

a GstGL.GLAllocationParamsCopyFunc

`free` (GstGL.GLAllocationParamsFreeFunc) –

a GstGL.GLAllocationParamsFreeFunc

`alloc_flags` (Number) –

allocation flags

`alloc_size` (Number) –

the allocation size

`alloc_params` (Gst.AllocationParams) –

the Gst.AllocationParams

`context` (GstGL.GLContext) –

a GstGL.GLContext

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

`user_data` (Object) –

argument to call notify with

`wrapped_data` (Object) –

the wrapped data pointer

`gl_handle` (Object) –

the wrapped OpenGL handle

## GstGL.GLAllocationParams

### Members

`struct_size` (int) –

the size of the struct (including and subclass data)

`copy` (GstGL.GLAllocationParamsCopyFunc) –

a GstGL.GLAllocationParamsCopyFunc

`free` (GstGL.GLAllocationParamsFreeFunc) –

a GstGL.GLAllocationParamsFreeFunc

`alloc_flags` (int) –

allocation flags

`alloc_size` (int) –

the allocation size

`alloc_params` (Gst.AllocationParams) –

the Gst.AllocationParams

`context` (GstGL.GLContext) –

a GstGL.GLContext

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

`user_data` (object) –

argument to call notify with

`wrapped_data` (object) –

the wrapped data pointer

`gl_handle` (object) –

the wrapped OpenGL handle

### Methods

#### gst_gl_allocation_params_copy

    GstGLAllocationParams *
    gst_gl_allocation_params_copy (GstGLAllocationParams * src)

Parameters:

`src` –

the GstGLAllocationParams to initialize

Returns ( [transfer: full]) –

a copy of the GstGLAllocationParams specified by src or NULL on failure

Since : 1.8

#### GstGL.GLAllocationParams.prototype.copy

    function GstGL.GLAllocationParams.prototype.copy(): {
        // javascript wrapper for 'gst_gl_allocation_params_copy'
    }

Parameters:

`src` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to initialize

Returns (GstGL.GLAllocationParams) –

a copy of the GstGL.GLAllocationParams specified by src or null on failure

Since : 1.8

#### GstGL.GLAllocationParams.copy

    def GstGL.GLAllocationParams.copy (self):
        #python wrapper for 'gst_gl_allocation_params_copy'

Parameters:

`src` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to initialize

Returns (GstGL.GLAllocationParams) –

a copy of the GstGL.GLAllocationParams specified by src or None on failure

Since : 1.8

#### gst_gl_allocation_params_copy_data

    gst_gl_allocation_params_copy_data (GstGLAllocationParams * src,
                                        GstGLAllocationParams * dest)

Copies the dynamically allocated data from src to dest. Direct subclasses should call this function in their own overridden copy function.

Parameters:

`src` –

the source GstGLAllocationParams

`dest` –

the destination GstGLAllocationParams

Since : 1.8

#### GstGL.GLAllocationParams.prototype.copy_data

    function GstGL.GLAllocationParams.prototype.copy_data(dest: GstGL.GLAllocationParams): {
        // javascript wrapper for 'gst_gl_allocation_params_copy_data'
    }

Copies the dynamically allocated data from src to dest. Direct subclasses should call this function in their own overridden copy function.

Parameters:

`src` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams

`dest` (GstGL.GLAllocationParams) –

the destination GstGL.GLAllocationParams

Since : 1.8

#### GstGL.GLAllocationParams.copy_data

    def GstGL.GLAllocationParams.copy_data (self, dest):
        #python wrapper for 'gst_gl_allocation_params_copy_data'

Copies the dynamically allocated data from src to dest. Direct subclasses should call this function in their own overridden copy function.

Parameters:

`src` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams

`dest` (GstGL.GLAllocationParams) –

the destination GstGL.GLAllocationParams

Since : 1.8

#### gst_gl_allocation_params_free

    gst_gl_allocation_params_free (GstGLAllocationParams * params)

Frees the GstGLAllocationParams and all associated data.

Parameters:

`params` –

the GstGLAllocationParams to initialize

Since : 1.8

#### GstGL.GLAllocationParams.prototype.free

    function GstGL.GLAllocationParams.prototype.free(): {
        // javascript wrapper for 'gst_gl_allocation_params_free'
    }

Frees the GstGL.GLAllocationParams and all associated data.

Parameters:

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to initialize

Since : 1.8

#### GstGL.GLAllocationParams.free

    def GstGL.GLAllocationParams.free (self):
        #python wrapper for 'gst_gl_allocation_params_free'

Frees the GstGL.GLAllocationParams and all associated data.

Parameters:

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to initialize

Since : 1.8

#### gst_gl_allocation_params_free_data

    gst_gl_allocation_params_free_data (GstGLAllocationParams * params)

Frees the dynamically allocated data in params. Direct subclasses should call this function in their own overridden free function.

Parameters:

`params` –

the source GstGLAllocationParams

Since : 1.8

#### GstGL.GLAllocationParams.prototype.free_data

    function GstGL.GLAllocationParams.prototype.free_data(): {
        // javascript wrapper for 'gst_gl_allocation_params_free_data'
    }

Frees the dynamically allocated data in params. Direct subclasses should call this function in their own overridden free function.

Parameters:

`params` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams

Since : 1.8

#### GstGL.GLAllocationParams.free_data

    def GstGL.GLAllocationParams.free_data (self):
        #python wrapper for 'gst_gl_allocation_params_free_data'

Frees the dynamically allocated data in params. Direct subclasses should call this function in their own overridden free function.

Parameters:

`params` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams

Since : 1.8

#### gst_gl_allocation_params_init

    gboolean
    gst_gl_allocation_params_init (GstGLAllocationParams * params,
                                   gsize struct_size,
                                   guint alloc_flags,
                                   GstGLAllocationParamsCopyFunc copy,
                                   GstGLAllocationParamsFreeFunc free,
                                   GstGLContext * context,
                                   gsize alloc_size,
                                   const GstAllocationParams * alloc_params,
                                   gpointer wrapped_data,
                                   gpointer gl_handle,
                                   gpointer user_data,
                                   GDestroyNotify notify)

notify will be called once for each allocated memory using these params when freeing the memory.

Parameters:

`params` –

the GstGLAllocationParams to initialize

`struct_size` –

the struct size of the implementation

`alloc_flags` –

some alloc flags

`copy` –

a copy function

`free` –

a free function

`context` ( [transfer: none]) –

a GstGLContext

`alloc_size` –

the number of bytes to allocate.

`alloc_params` ( [transfer: none][allow-none]) –

a GstAllocationParams to apply

`wrapped_data` ( [transfer: none][allow-none]) –

a sysmem data pointer to initialize the allocation with

`gl_handle` ( [transfer: none]) –

a GL handle to initialize the allocation with

`user_data` ( [transfer: none][allow-none]) –

user data to call notify with

`notify` ( [allow-none]) –

a GDestroyNotify

Returns –

whether the parameters could be initialized

Since : 1.8

## GstGLBaseMemory

Represents information about a GL memory object

### Members

`mem` (GstMemory) –

the parent object

`context` (GstGLContext *) –

the GstGLContext to use for GL operations

`lock` (GMutex) –
No description available
`map_flags` (GstMapFlags) –
No description available
`map_count` (gint) –
No description available
`gl_map_count` (gint) –
No description available
`data` (gpointer) –
No description available
`query` (GstGLQuery *) –
No description available

## GstGL.GLBaseMemory

Represents information about a GL memory object

### Members

`mem` (Gst.Memory) –

the parent object

`context` (GstGL.GLContext) –

the GstGL.GLContext to use for GL operations

`lock` (GLib.Mutex) –
No description available
`map_flags` (Gst.MapFlags) –
No description available
`map_count` (Number) –
No description available
`gl_map_count` (Number) –
No description available
`data` (Object) –
No description available
`query` (GstGL.GLQuery) –
No description available

## GstGL.GLBaseMemory

Represents information about a GL memory object

### Members

`mem` (Gst.Memory) –

the parent object

`context` (GstGL.GLContext) –

the GstGL.GLContext to use for GL operations

`lock` (GLib.Mutex) –
No description available
`map_flags` (Gst.MapFlags) –
No description available
`map_count` (int) –
No description available
`gl_map_count` (int) –
No description available
`data` (object) –
No description available
`query` (GstGL.GLQuery) –
No description available

### Methods

#### gst_gl_base_memory_alloc_data

    gboolean
    gst_gl_base_memory_alloc_data (GstGLBaseMemory * gl_mem)

Note: only intended for subclass usage to allocate the system memory buffer on demand. If there is already a non-NULL data pointer in gl_mem->data, then this function imply returns TRUE.

Parameters:

`gl_mem` –

a GstGLBaseMemory

Returns –

whether the system memory could be allocated

#### GstGL.GLBaseMemory.prototype.alloc_data

    function GstGL.GLBaseMemory.prototype.alloc_data(): {
        // javascript wrapper for 'gst_gl_base_memory_alloc_data'
    }

Note: only intended for subclass usage to allocate the system memory buffer on demand. If there is already a non-NULL data pointer in gl_mem->data, then this function imply returns TRUE.

Parameters:

`gl_mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Returns (Number) –

whether the system memory could be allocated

#### GstGL.GLBaseMemory.alloc_data

    def GstGL.GLBaseMemory.alloc_data (self):
        #python wrapper for 'gst_gl_base_memory_alloc_data'

Note: only intended for subclass usage to allocate the system memory buffer on demand. If there is already a non-NULL data pointer in gl_mem->data, then this function imply returns TRUE.

Parameters:

`gl_mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Returns (bool) –

whether the system memory could be allocated

#### gst_gl_base_memory_init

    gst_gl_base_memory_init (GstGLBaseMemory * mem,
                             GstAllocator * allocator,
                             GstMemory * parent,
                             GstGLContext * context,
                             const GstAllocationParams * params,
                             gsize size,
                             gpointer user_data,
                             GDestroyNotify notify)

Initializes mem with the required parameters

Parameters:

`mem` –

the GstGLBaseMemory to initialize

`allocator` –

the GstAllocator to initialize with

`parent` ( [allow-none]) –

the parent GstMemory to initialize with

`context` –

the GstGLContext to initialize with

`params` ( [allow-none]) –

the GstAllocationParams to initialize with

`size` –

the number of bytes to be allocated

`user_data` ( [allow-none]) –

user data to call notify with

`notify` ( [allow-none]) –

a GDestroyNotify

Since : 1.8

#### GstGL.GLBaseMemory.prototype.init

    function GstGL.GLBaseMemory.prototype.init(allocator: Gst.Allocator, parent: Gst.Memory, context: GstGL.GLContext, params: Gst.AllocationParams, size: Number, user_data: Object, notify: GLib.DestroyNotify): {
        // javascript wrapper for 'gst_gl_base_memory_init'
    }

Initializes mem with the required parameters

Parameters:

`mem` (GstGL.GLBaseMemory) –

the GstGL.GLBaseMemory to initialize

`allocator` (Gst.Allocator) –

the Gst.Allocator to initialize with

`parent` (Gst.Memory) –

the parent Gst.Memory to initialize with

`context` (GstGL.GLContext) –

the GstGL.GLContext to initialize with

`params` (Gst.AllocationParams) –

the GstAllocationParams to initialize with

`size` (Number) –

the number of bytes to be allocated

`user_data` (Object) –

user data to call notify with

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

Since : 1.8

#### GstGL.GLBaseMemory.init

    def GstGL.GLBaseMemory.init (self, allocator, parent, context, params, size, user_data, notify):
        #python wrapper for 'gst_gl_base_memory_init'

Initializes mem with the required parameters

Parameters:

`mem` (GstGL.GLBaseMemory) –

the GstGL.GLBaseMemory to initialize

`allocator` (Gst.Allocator) –

the Gst.Allocator to initialize with

`parent` (Gst.Memory) –

the parent Gst.Memory to initialize with

`context` (GstGL.GLContext) –

the GstGL.GLContext to initialize with

`params` (Gst.AllocationParams) –

the GstAllocationParams to initialize with

`size` (int) –

the number of bytes to be allocated

`user_data` (object) –

user data to call notify with

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

Since : 1.8

#### gst_gl_base_memory_memcpy

    gboolean
    gst_gl_base_memory_memcpy (GstGLBaseMemory * src,
                               GstGLBaseMemory * dest,
                               gssize offset,
                               gssize size)

Parameters:

`src` –

the source GstGLBaseMemory

`dest` –

the destination GstGLBaseMemory

`offset` –

the offset to start at

`size` –

the number of bytes to copy

Returns –

whether the copy succeeded.

Since : 1.8

#### GstGL.GLBaseMemory.prototype.memcpy

    function GstGL.GLBaseMemory.prototype.memcpy(dest: GstGL.GLBaseMemory, offset: Number, size: Number): {
        // javascript wrapper for 'gst_gl_base_memory_memcpy'
    }

Parameters:

`src` (GstGL.GLBaseMemory) –

the source GstGL.GLBaseMemory

`dest` (GstGL.GLBaseMemory) –

the destination GstGL.GLBaseMemory

`offset` (Number) –

the offset to start at

`size` (Number) –

the number of bytes to copy

Returns (Number) –

whether the copy succeeded.

Since : 1.8

#### GstGL.GLBaseMemory.memcpy

    def GstGL.GLBaseMemory.memcpy (self, dest, offset, size):
        #python wrapper for 'gst_gl_base_memory_memcpy'

Parameters:

`src` (GstGL.GLBaseMemory) –

the source GstGL.GLBaseMemory

`dest` (GstGL.GLBaseMemory) –

the destination GstGL.GLBaseMemory

`offset` (int) –

the offset to start at

`size` (int) –

the number of bytes to copy

Returns (bool) –

whether the copy succeeded.

Since : 1.8

### Functions

#### gst_gl_base_memory_alloc

    GstGLBaseMemory *
    gst_gl_base_memory_alloc (GstGLBaseMemoryAllocator * allocator,
                              GstGLAllocationParams * params)

Parameters:

`allocator` –

a GstGLBaseMemoryAllocator

`params` –

the GstGLAllocationParams to allocate the memory with

Returns –

a new GstGLBaseMemory from allocator with the requested params.

Since : 1.8

#### GstGL.prototype.gl_base_memory_alloc

    function GstGL.prototype.gl_base_memory_alloc(allocator: GstGL.GLBaseMemoryAllocator, params: GstGL.GLAllocationParams): {
        // javascript wrapper for 'gst_gl_base_memory_alloc'
    }

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –

a GstGL.GLBaseMemoryAllocator

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to allocate the memory with

Returns (GstGL.GLBaseMemory) –

a new GstGL.GLBaseMemory from allocator with the requested params.

Since : 1.8

#### GstGL.gl_base_memory_alloc

    def GstGL.gl_base_memory_alloc (allocator, params):
        #python wrapper for 'gst_gl_base_memory_alloc'

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –

a GstGL.GLBaseMemoryAllocator

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to allocate the memory with

Returns (GstGL.GLBaseMemory) –

a new GstGL.GLBaseMemory from allocator with the requested params.

Since : 1.8

#### gst_gl_base_memory_init_once

    gst_gl_base_memory_init_once ()

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

Since : 1.8

#### GstGL.prototype.gl_base_memory_init_once

    function GstGL.prototype.gl_base_memory_init_once(): {
        // javascript wrapper for 'gst_gl_base_memory_init_once'
    }

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

Since : 1.8

#### GstGL.gl_base_memory_init_once

    def GstGL.gl_base_memory_init_once ():
        #python wrapper for 'gst_gl_base_memory_init_once'

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

Since : 1.8

## GstGLBaseMemoryAllocator

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

Opaque GstGLBaseMemoryAllocator struct

### Class structure

#### GstGLBaseMemoryAllocatorClass

##### Fields

`parent_class` (GstAllocatorClass) –

the parent class

`alloc` (GstGLBaseMemoryAllocatorAllocFunction) –

a GstGLBaseMemoryAllocatorAllocFunction

`create` (GstGLBaseMemoryAllocatorCreateFunction) –

a GstGLBaseMemoryAllocatorCreateFunction

`map` (GstGLBaseMemoryAllocatorMapFunction) –

a GstGLBaseMemoryAllocatorMapFunction

`unmap` (GstGLBaseMemoryAllocatorUnmapFunction) –

a GstGLBaseMemoryAllocatorUnmapFunction

`copy` (GstGLBaseMemoryAllocatorCopyFunction) –

a GstGLBaseMemoryAllocatorCopyFunction

`destroy` (GstGLBaseMemoryAllocatorDestroyFunction) –

a GstGLBaseMemoryAllocatorDestroyFunction

### GstGL.GLBaseMemoryAllocatorClass

##### Attributes

`parent_class` (Gst.AllocatorClass) –

the parent class

`alloc` (GstGL.GLBaseMemoryAllocatorAllocFunction) –

a GstGL.GLBaseMemoryAllocatorAllocFunction

`create` (GstGL.GLBaseMemoryAllocatorCreateFunction) –

a GstGL.GLBaseMemoryAllocatorCreateFunction

`map` (GstGL.GLBaseMemoryAllocatorMapFunction) –

a GstGL.GLBaseMemoryAllocatorMapFunction

`unmap` (GstGL.GLBaseMemoryAllocatorUnmapFunction) –

a GstGL.GLBaseMemoryAllocatorUnmapFunction

`copy` (GstGL.GLBaseMemoryAllocatorCopyFunction) –

a GstGL.GLBaseMemoryAllocatorCopyFunction

`destroy` (GstGL.GLBaseMemoryAllocatorDestroyFunction) –

a GstGL.GLBaseMemoryAllocatorDestroyFunction

### GstGL.GLBaseMemoryAllocatorClass

##### Attributes

`parent_class` (Gst.AllocatorClass) –

the parent class

`alloc` (GstGL.GLBaseMemoryAllocatorAllocFunction) –

a GstGL.GLBaseMemoryAllocatorAllocFunction

`create` (GstGL.GLBaseMemoryAllocatorCreateFunction) –

a GstGL.GLBaseMemoryAllocatorCreateFunction

`map` (GstGL.GLBaseMemoryAllocatorMapFunction) –

a GstGL.GLBaseMemoryAllocatorMapFunction

`unmap` (GstGL.GLBaseMemoryAllocatorUnmapFunction) –

a GstGL.GLBaseMemoryAllocatorUnmapFunction

`copy` (GstGL.GLBaseMemoryAllocatorCopyFunction) –

a GstGL.GLBaseMemoryAllocatorCopyFunction

`destroy` (GstGL.GLBaseMemoryAllocatorDestroyFunction) –

a GstGL.GLBaseMemoryAllocatorDestroyFunction

## GstGL.GLBaseMemoryAllocator

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

Opaque GstGL.GLBaseMemoryAllocator struct

## GstGL.GLBaseMemoryAllocator

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

Opaque GstGL.GLBaseMemoryAllocator struct

### Virtual Methods

#### alloc

    GstGLBaseMemory *
    alloc (GstGLBaseMemoryAllocator * allocator,
           GstGLAllocationParams * params)

a GstGLBaseMemoryAllocatorAllocFunction

Parameters:

`allocator` –
No description available
`params` –
No description available
Returns –
No description available

#### vfunc_alloc

    function vfunc_alloc(allocator: GstGL.GLBaseMemoryAllocator, params: GstGL.GLAllocationParams): {
        // javascript implementation of the 'alloc' virtual method
    }

a GstGL.GLBaseMemoryAllocatorAllocFunction

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –
No description available
`params` (GstGL.GLAllocationParams) –
No description available
Returns (GstGL.GLBaseMemory) –
No description available

#### do_alloc

    def do_alloc (allocator, params):
        #python implementation of the 'alloc' virtual method

a GstGL.GLBaseMemoryAllocatorAllocFunction

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –
No description available
`params` (GstGL.GLAllocationParams) –
No description available
Returns (GstGL.GLBaseMemory) –
No description available

## Functions

### gst_gl_base_memory_error_quark

    GQuark
    gst_gl_base_memory_error_quark ()

Returns –

the quark used for GstGLBaseMemory in GError's

### GstGL.prototype.gl_base_memory_error_quark

    function GstGL.prototype.gl_base_memory_error_quark(): {
        // javascript wrapper for 'gst_gl_base_memory_error_quark'
    }

Returns (GLib.Quark) –

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

### GstGL.gl_base_memory_error_quark

    def GstGL.gl_base_memory_error_quark ():
        #python wrapper for 'gst_gl_base_memory_error_quark'

Returns (GLib.Quark) –

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

### gst_is_gl_base_memory

    gboolean
    gst_is_gl_base_memory (GstMemory * mem)

Parameters:

`mem` –

a GstMemory

Returns –

whether the memory at mem is a GstGLBaseMemory

Since : 1.8

### GstGL.prototype.is_gl_base_memory

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

Parameters:

`mem` (Gst.Memory) –

a Gst.Memory

Returns (Number) –

whether the memory at mem is a GstGL.GLBaseMemory

Since : 1.8

### GstGL.is_gl_base_memory

    def GstGL.is_gl_base_memory (mem):
        #python wrapper for 'gst_is_gl_base_memory'

Parameters:

`mem` (Gst.Memory) –

a Gst.Memory

Returns (bool) –

whether the memory at mem is a GstGL.GLBaseMemory

Since : 1.8

## Function Macros

### GST_GL_BASE_MEMORY_ALLOCATOR_CAST

    #define GST_GL_BASE_MEMORY_ALLOCATOR_CAST(obj)            ((GstGLBaseMemoryAllocator *)(obj))

### GST_GL_BASE_MEMORY_CAST

    #define GST_GL_BASE_MEMORY_CAST(mem) ((GstGLBaseMemory *)mem)

## Enumerations

### GstGLBaseMemoryError

##### Members

`GST_GL_BASE_MEMORY_ERROR_FAILED` (0) –

generic failure

`GST_GL_BASE_MEMORY_ERROR_OLD_LIBS` (1) –

the implementation is too old and doesn't implement enough features

`GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE` (2) –

a resource could not be found

### GstGL.GLBaseMemoryError

##### Members

`GstGL.GLBaseMemoryError.FAILED` (0) –

generic failure

`GstGL.GLBaseMemoryError.OLD_LIBS` (1) –

the implementation is too old and doesn't implement enough features

`GstGL.GLBaseMemoryError.RESOURCE_UNAVAILABLE` (2) –

a resource could not be found

### GstGL.GLBaseMemoryError

##### Members

`GstGL.GLBaseMemoryError.FAILED` (0) –

generic failure

`GstGL.GLBaseMemoryError.OLD_LIBS` (1) –

the implementation is too old and doesn't implement enough features

`GstGL.GLBaseMemoryError.RESOURCE_UNAVAILABLE` (2) –

a resource could not be found

### GstGLBaseMemoryTransfer

##### Members

`GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD` (1048576) –

the texture needs downloading to the data pointer

`GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD` (2097152) –

the data pointer needs uploading to the texture

### GstGL.GLBaseMemoryTransfer

##### Members

`GstGL.GLBaseMemoryTransfer.DOWNLOAD` (1048576) –

the texture needs downloading to the data pointer

`GstGL.GLBaseMemoryTransfer.UPLOAD` (2097152) –

the data pointer needs uploading to the texture

### GstGL.GLBaseMemoryTransfer

##### Members

`GstGL.GLBaseMemoryTransfer.DOWNLOAD` (1048576) –

the texture needs downloading to the data pointer

`GstGL.GLBaseMemoryTransfer.UPLOAD` (2097152) –

the data pointer needs uploading to the texture

## Constants

### GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC

    #define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC (1 << 0)

GL Allocation flag indicating that the implementation should allocate the necessary resources.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC

GL Allocation flag indicating that the implementation should allocate the necessary resources.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC

GL Allocation flag indicating that the implementation should allocate the necessary resources.

### GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER

    #define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER (1 << 16)

Values >= than GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER can be used for user-defined purposes.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER

Values >= than GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER can be used for user-defined purposes.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER

Values >= than GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER can be used for user-defined purposes.

### GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE

    #define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE (1 << 2)

GL Allocation flag for using the provided GPU handle as storage.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE

GL Allocation flag for using the provided GPU handle as storage.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE

GL Allocation flag for using the provided GPU handle as storage.

### GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM

    #define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM (1 << 1)

GL Allocation flag for using the provided system memory data as storage.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM

GL Allocation flag for using the provided system memory data as storage.

### GstGL.GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM

GL Allocation flag for using the provided system memory data as storage.

### GST_GL_BASE_MEMORY_ALLOCATOR_NAME

    #define GST_GL_BASE_MEMORY_ALLOCATOR_NAME   "GLBaseMemory"

The name of the GL buffer allocator

### GstGL.GL_BASE_MEMORY_ALLOCATOR_NAME

The name of the GL buffer allocator

### GstGL.GL_BASE_MEMORY_ALLOCATOR_NAME

The name of the GL buffer allocator

### GST_GL_BASE_MEMORY_ERROR

    #define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ())

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

### GST_MAP_GL

    #define GST_MAP_GL (GST_MAP_FLAG_LAST << 1)

Flag indicating that we should map the GL object instead of to system memory.

Combining GST_MAP_GL with GST_MAP_WRITE has the same semantics as though you are writing to OpenGL. Conversely, combining GST_MAP_GL with GST_MAP_READ has the same semantics as though you are reading from OpenGL.

### GstGL.MAP_GL

Flag indicating that we should map the GL object instead of to system memory.

Combining GstGL.MAP_GL with Gst.MapFlags.WRITE has the same semantics as though you are writing to OpenGL. Conversely, combining GstGL.MAP_GL with Gst.MapFlags.READ has the same semantics as though you are reading from OpenGL.

### GstGL.MAP_GL

Flag indicating that we should map the GL object instead of to system memory.

Combining GstGL.MAP_GL with Gst.MapFlags.WRITE has the same semantics as though you are writing to OpenGL. Conversely, combining GstGL.MAP_GL with Gst.MapFlags.READ has the same semantics as though you are reading from OpenGL.

## Callbacks

### GstGLAllocationParamsCopyFunc

    (*GstGLAllocationParamsCopyFunc) (GstGLAllocationParams * src,
                                      GstGLAllocationParams * dest)

Copies the parameters from src into dest. The subclass must compose copy functions from the superclass.

Parameters:

`src` –

the source GstGLAllocationParams to copy from

`dest` –

the source GstGLAllocationParams to copy

### GstGL.GLAllocationParamsCopyFunc

    function GstGL.GLAllocationParamsCopyFunc(src: GstGL.GLAllocationParams, dest: GstGL.GLAllocationParams): {
        // javascript wrapper for 'GstGLAllocationParamsCopyFunc'
    }

Copies the parameters from src into dest. The subclass must compose copy functions from the superclass.

Parameters:

`src` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams to copy from

`dest` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams to copy

### GstGL.GLAllocationParamsCopyFunc

    def GstGL.GLAllocationParamsCopyFunc (src, dest):
        #python wrapper for 'GstGLAllocationParamsCopyFunc'

Copies the parameters from src into dest. The subclass must compose copy functions from the superclass.

Parameters:

`src` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams to copy from

`dest` (GstGL.GLAllocationParams) –

the source GstGL.GLAllocationParams to copy

### GstGLAllocationParamsFreeFunc

    (*GstGLAllocationParamsFreeFunc) (gpointer params)

Free any dynamically allocated data. The subclass must call the superclass' free.

Parameters:

`params` –

a GstGLAllocationParams

### GstGL.GLAllocationParamsFreeFunc

    function GstGL.GLAllocationParamsFreeFunc(params: Object): {
        // javascript wrapper for 'GstGLAllocationParamsFreeFunc'
    }

Free any dynamically allocated data. The subclass must call the superclass' free.

Parameters:

`params` (Object) –

a GstGL.GLAllocationParams

### GstGL.GLAllocationParamsFreeFunc

    def GstGL.GLAllocationParamsFreeFunc (params):
        #python wrapper for 'GstGLAllocationParamsFreeFunc'

Free any dynamically allocated data. The subclass must call the superclass' free.

Parameters:

`params` (object) –

a GstGL.GLAllocationParams

### GstGLBaseMemoryAllocatorAllocFunction

    GstGLBaseMemory *
    (*GstGLBaseMemoryAllocatorAllocFunction) (GstGLBaseMemoryAllocator * allocator,
                                              GstGLAllocationParams * params)

Note: not called with a GL context current

Parameters:

`allocator` –

a GstGLBaseMemoryAllocator

`params` –

the GstGLAllocationParams to allocate the memory with

Returns –

a newly allocated GstGLBaseMemory from allocator and params

Since : 1.8

### GstGL.GLBaseMemoryAllocatorAllocFunction

    function GstGL.GLBaseMemoryAllocatorAllocFunction(allocator: GstGL.GLBaseMemoryAllocator, params: GstGL.GLAllocationParams): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorAllocFunction'
    }

Note: not called with a GL context current

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –

a GstGL.GLBaseMemoryAllocator

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to allocate the memory with

Returns (GstGL.GLBaseMemory) –

a newly allocated GstGL.GLBaseMemory from allocator and params

Since : 1.8

### GstGL.GLBaseMemoryAllocatorAllocFunction

    def GstGL.GLBaseMemoryAllocatorAllocFunction (allocator, params):
        #python wrapper for 'GstGLBaseMemoryAllocatorAllocFunction'

Note: not called with a GL context current

Parameters:

`allocator` (GstGL.GLBaseMemoryAllocator) –

a GstGL.GLBaseMemoryAllocator

`params` (GstGL.GLAllocationParams) –

the GstGL.GLAllocationParams to allocate the memory with

Returns (GstGL.GLBaseMemory) –

a newly allocated GstGL.GLBaseMemory from allocator and params

Since : 1.8

### GstGLBaseMemoryAllocatorCopyFunction

    GstGLBaseMemory *
    (*GstGLBaseMemoryAllocatorCopyFunction) (GstGLBaseMemory * mem,
                                             gssize offset,
                                             gssize size)

Also see gst_memory_copy;

Parameters:

`mem` –

a GstGLBaseMemory

`offset` –

the offset to copy from

`size` –

the number of bytes to copy

Returns –

the newly copied GstGLMemory or NULL

Since : 1.8

### GstGL.GLBaseMemoryAllocatorCopyFunction

    function GstGL.GLBaseMemoryAllocatorCopyFunction(mem: GstGL.GLBaseMemory, offset: Number, size: Number): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorCopyFunction'
    }

Also see Gst.Memory.prototype.copy;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`offset` (Number) –

the offset to copy from

`size` (Number) –

the number of bytes to copy

Returns (GstGL.GLBaseMemory) –

the newly copied GstGL.GLMemory or null

Since : 1.8

### GstGL.GLBaseMemoryAllocatorCopyFunction

    def GstGL.GLBaseMemoryAllocatorCopyFunction (mem, offset, size):
        #python wrapper for 'GstGLBaseMemoryAllocatorCopyFunction'

Also see Gst.Memory.copy;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`offset` (int) –

the offset to copy from

`size` (int) –

the number of bytes to copy

Returns (GstGL.GLBaseMemory) –

the newly copied GstGL.GLMemory or None

Since : 1.8

### GstGLBaseMemoryAllocatorCreateFunction

    gboolean
    (*GstGLBaseMemoryAllocatorCreateFunction) (GstGLBaseMemory * mem,
                                               GError ** error)

As this virtual method is called with an OpenGL context current, use this function to allocate and OpenGL resources needed for your application

Parameters:

`mem` –

a GstGLBaseMemory

`error` –

a GError to use on failure

Returns –

whether the creation succeeded

Since : 1.8

### GstGL.GLBaseMemoryAllocatorCreateFunction

    function GstGL.GLBaseMemoryAllocatorCreateFunction(mem: GstGL.GLBaseMemory): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorCreateFunction'
    }

As this virtual method is called with an OpenGL context current, use this function to allocate and OpenGL resources needed for your application

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Returns (Number) –

whether the creation succeeded

Since : 1.8

### GstGL.GLBaseMemoryAllocatorCreateFunction

    def GstGL.GLBaseMemoryAllocatorCreateFunction (mem):
        #python wrapper for 'GstGLBaseMemoryAllocatorCreateFunction'

As this virtual method is called with an OpenGL context current, use this function to allocate and OpenGL resources needed for your application

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Returns (bool) –

whether the creation succeeded

Since : 1.8

### GstGLBaseMemoryAllocatorDestroyFunction

    (*GstGLBaseMemoryAllocatorDestroyFunction) (GstGLBaseMemory * mem)

Destroy any resources allocated throughout the lifetime of mem

Parameters:

`mem` –

a GstGLBaseMemory

Since : 1.8

### GstGL.GLBaseMemoryAllocatorDestroyFunction

    function GstGL.GLBaseMemoryAllocatorDestroyFunction(mem: GstGL.GLBaseMemory): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorDestroyFunction'
    }

Destroy any resources allocated throughout the lifetime of mem

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Since : 1.8

### GstGL.GLBaseMemoryAllocatorDestroyFunction

    def GstGL.GLBaseMemoryAllocatorDestroyFunction (mem):
        #python wrapper for 'GstGLBaseMemoryAllocatorDestroyFunction'

Destroy any resources allocated throughout the lifetime of mem

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

Since : 1.8

### GstGLBaseMemoryAllocatorMapFunction

    gpointer
    (*GstGLBaseMemoryAllocatorMapFunction) (GstGLBaseMemory * mem,
                                            GstMapInfo * info,
                                            gsize maxsize)

Also see gst_memory_map;

Parameters:

`mem` –

a GstGLBaseMemory

`info` –

a GstMapInfo to map with

`maxsize` –

the size to map

Returns –

the mapped pointer

Since : 1.8

### GstGL.GLBaseMemoryAllocatorMapFunction

    function GstGL.GLBaseMemoryAllocatorMapFunction(mem: GstGL.GLBaseMemory, info: Gst.MapInfo, maxsize: Number): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorMapFunction'
    }

Also see Gst.Memory.prototype.map;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`info` (Gst.MapInfo) –

a Gst.MapInfo to map with

`maxsize` (Number) –

the size to map

Returns (Object) –

the mapped pointer

Since : 1.8

### GstGL.GLBaseMemoryAllocatorMapFunction

    def GstGL.GLBaseMemoryAllocatorMapFunction (mem, info, maxsize):
        #python wrapper for 'GstGLBaseMemoryAllocatorMapFunction'

Also see Gst.Memory.map;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`info` (Gst.MapInfo) –

a Gst.MapInfo to map with

`maxsize` (int) –

the size to map

Returns (object) –

the mapped pointer

Since : 1.8

### GstGLBaseMemoryAllocatorUnmapFunction

    (*GstGLBaseMemoryAllocatorUnmapFunction) (GstGLBaseMemory * mem,
                                              GstMapInfo * info)

Also see gst_memory_unmap;

Parameters:

`mem` –

a GstGLBaseMemory

`info` –

a GstMapInfo to map with

Since : 1.8

### GstGL.GLBaseMemoryAllocatorUnmapFunction

    function GstGL.GLBaseMemoryAllocatorUnmapFunction(mem: GstGL.GLBaseMemory, info: Gst.MapInfo): {
        // javascript wrapper for 'GstGLBaseMemoryAllocatorUnmapFunction'
    }

Also see Gst.Memory.prototype.unmap;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`info` (Gst.MapInfo) –

a Gst.MapInfo to map with

Since : 1.8

### GstGL.GLBaseMemoryAllocatorUnmapFunction

    def GstGL.GLBaseMemoryAllocatorUnmapFunction (mem, info):
        #python wrapper for 'GstGLBaseMemoryAllocatorUnmapFunction'

Also see Gst.Memory.unmap;

Parameters:

`mem` (GstGL.GLBaseMemory) –

a GstGL.GLBaseMemory

`info` (Gst.MapInfo) –

a Gst.MapInfo to map with

Since : 1.8

The results of the search are