# GstGLBufferPool

a GstGLBufferPool is an object that allocates buffers with GstGLBaseMemory

A GstGLBufferPool is created with gst_gl_buffer_pool_new

GstGLBufferPool implements the VideoMeta buffer pool option GST_BUFFER_POOL_OPTION_VIDEO_META, the VideoAligment buffer pool option GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT as well as the OpenGL specific GST_BUFFER_POOL_OPTION_GL_SYNC_META buffer pool option.

## GstGLBufferPool

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstBufferPool
                    ╰──GstGLBufferPool

Opaque GstGLBufferPool struct

### Members

`bufferpool` (GstBufferPool) –
No description available
`context` (GstGLContext *) –
No description available

### Class structure

#### GstGLBufferPoolClass

The GstGLBufferPoolClass structure contains only private data

##### Fields

`parent_class` (GstBufferPoolClass) –
No description available

### GstGL.GLBufferPoolClass

The GstGL.GLBufferPoolClass structure contains only private data

##### Attributes

`parent_class` (Gst.BufferPoolClass) –
No description available

### GstGL.GLBufferPoolClass

The GstGL.GLBufferPoolClass structure contains only private data

##### Attributes

`parent_class` (Gst.BufferPoolClass) –
No description available

## GstGL.GLBufferPool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.BufferPool
                    ╰──GstGL.GLBufferPool

Opaque GstGLBufferPool struct

### Members

`bufferpool` (Gst.BufferPool) –
No description available
`context` (GstGL.GLContext) –
No description available

## GstGL.GLBufferPool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.BufferPool
                    ╰──GstGL.GLBufferPool

Opaque GstGLBufferPool struct

### Members

`bufferpool` (Gst.BufferPool) –
No description available
`context` (GstGL.GLContext) –
No description available

### Constructors

#### gst_gl_buffer_pool_new

    GstBufferPool *
    gst_gl_buffer_pool_new (GstGLContext * context)

Parameters:

`context` –

the GstGLContext to use

Returns –

a GstBufferPool that allocates buffers with GstGLMemory

#### GstGL.GLBufferPool.prototype.new

    function GstGL.GLBufferPool.prototype.new(context: GstGL.GLContext): {
        // javascript wrapper for 'gst_gl_buffer_pool_new'
    }

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext to use

Returns (Gst.BufferPool) –

a Gst.BufferPool that allocates buffers with GstGL.GLMemory

#### GstGL.GLBufferPool.new

    def GstGL.GLBufferPool.new (context):
        #python wrapper for 'gst_gl_buffer_pool_new'

Parameters:

`context` (GstGL.GLContext) –

the GstGL.GLContext to use

Returns (Gst.BufferPool) –

a Gst.BufferPool that allocates buffers with GstGL.GLMemory

### Methods

#### gst_gl_buffer_pool_get_gl_allocation_params

    GstGLAllocationParams *
    gst_gl_buffer_pool_get_gl_allocation_params (GstGLBufferPool * pool)

The returned GstGLAllocationParams will by NULL before the first successful call to gst_buffer_pool_set_config. Subsequent successful calls to gst_buffer_pool_set_config will cause this function to return a new GstGLAllocationParams which may or may not contain the same information.

Parameters:

`pool` –

the GstGLBufferPool

Returns ( [transfer: full][nullable]) –

a copy of the GstGLAllocationParams being used by the pool

Since : 1.20

#### GstGL.GLBufferPool.prototype.get_gl_allocation_params

    function GstGL.GLBufferPool.prototype.get_gl_allocation_params(): {
        // javascript wrapper for 'gst_gl_buffer_pool_get_gl_allocation_params'
    }

The returned GstGL.GLAllocationParams will by NULL before the first successful call to Gst.BufferPool.prototype.set_config. Subsequent successful calls to Gst.BufferPool.prototype.set_config will cause this function to return a new GstGL.GLAllocationParams which may or may not contain the same information.

Parameters:

`pool` (GstGL.GLBufferPool) –

the GstGL.GLBufferPool

Returns (GstGL.GLAllocationParams) –

a copy of the GstGL.GLAllocationParams being used by the pool

Since : 1.20

#### GstGL.GLBufferPool.get_gl_allocation_params

    def GstGL.GLBufferPool.get_gl_allocation_params (self):
        #python wrapper for 'gst_gl_buffer_pool_get_gl_allocation_params'

The returned GstGL.GLAllocationParams will by NULL before the first successful call to Gst.BufferPool.set_config. Subsequent successful calls to Gst.BufferPool.set_config will cause this function to return a new GstGL.GLAllocationParams which may or may not contain the same information.

Parameters:

`pool` (GstGL.GLBufferPool) –

the GstGL.GLBufferPool

Returns (GstGL.GLAllocationParams) –

a copy of the GstGL.GLAllocationParams being used by the pool

Since : 1.20

## Functions

### gst_buffer_pool_config_get_gl_allocation_params

    GstGLAllocationParams *
    gst_buffer_pool_config_get_gl_allocation_params (GstStructure * config)

Parameters:

`config` –

a buffer pool config

Returns ( [transfer: full][nullable]) –

the currently set GstGLAllocationParams or NULL

### GstGL.prototype.buffer_pool_config_get_gl_allocation_params

    function GstGL.prototype.buffer_pool_config_get_gl_allocation_params(config: Gst.Structure): {
        // javascript wrapper for 'gst_buffer_pool_config_get_gl_allocation_params'
    }

Parameters:

`config` (Gst.Structure) –

a buffer pool config

Returns (GstGL.GLAllocationParams) –

the currently set GstGL.GLAllocationParams or NULL

### GstGL.buffer_pool_config_get_gl_allocation_params

    def GstGL.buffer_pool_config_get_gl_allocation_params (config):
        #python wrapper for 'gst_buffer_pool_config_get_gl_allocation_params'

Parameters:

`config` (Gst.Structure) –

a buffer pool config

Returns (GstGL.GLAllocationParams) –

the currently set GstGL.GLAllocationParams or NULL

### gst_buffer_pool_config_get_gl_min_free_queue_size

    guint
    gst_buffer_pool_config_get_gl_min_free_queue_size (GstStructure * config)

See gst_buffer_pool_config_set_gl_min_free_queue_size.

Parameters:

`config` –

a buffer pool config

Returns –

then number of buffers configured the free queue

Since : 1.24

### GstGL.prototype.buffer_pool_config_get_gl_min_free_queue_size

    function GstGL.prototype.buffer_pool_config_get_gl_min_free_queue_size(config: Gst.Structure): {
        // javascript wrapper for 'gst_buffer_pool_config_get_gl_min_free_queue_size'
    }

See GstGL.prototype.buffer_pool_config_set_gl_min_free_queue_size.

Parameters:

`config` (Gst.Structure) –

a buffer pool config

Returns (Number) –

then number of buffers configured the free queue

Since : 1.24

### GstGL.buffer_pool_config_get_gl_min_free_queue_size

    def GstGL.buffer_pool_config_get_gl_min_free_queue_size (config):
        #python wrapper for 'gst_buffer_pool_config_get_gl_min_free_queue_size'

See GstGL.buffer_pool_config_set_gl_min_free_queue_size.

Parameters:

`config` (Gst.Structure) –

a buffer pool config

Returns (int) –

then number of buffers configured the free queue

Since : 1.24

### gst_buffer_pool_config_set_gl_allocation_params

    gst_buffer_pool_config_set_gl_allocation_params (GstStructure * config,
                                                     const GstGLAllocationParams * params)

Sets params on config

Parameters:

`config` –

a buffer pool config

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

a GstGLAllocationParams

### GstGL.prototype.buffer_pool_config_set_gl_allocation_params

    function GstGL.prototype.buffer_pool_config_set_gl_allocation_params(config: Gst.Structure, params: GstGL.GLAllocationParams): {
        // javascript wrapper for 'gst_buffer_pool_config_set_gl_allocation_params'
    }

Sets params on config

Parameters:

`config` (Gst.Structure) –

a buffer pool config

`params` (GstGL.GLAllocationParams) –

a GstGL.GLAllocationParams

### GstGL.buffer_pool_config_set_gl_allocation_params

    def GstGL.buffer_pool_config_set_gl_allocation_params (config, params):
        #python wrapper for 'gst_buffer_pool_config_set_gl_allocation_params'

Sets params on config

Parameters:

`config` (Gst.Structure) –

a buffer pool config

`params` (GstGL.GLAllocationParams) –

a GstGL.GLAllocationParams

### gst_buffer_pool_config_set_gl_min_free_queue_size

    gst_buffer_pool_config_set_gl_min_free_queue_size (GstStructure * config,
                                                       guint queue_size)

Instructs the GstGLBufferPool to keep queue_size amount of buffers around before allowing them for reuse.

This is helpful to allow GPU processing to complete before the CPU operations on the same buffer could start. Particularly useful when uploading or downloading data to/from the GPU.

A value of 0 disabled this functionality.

This value must be less than the configured maximum amount of buffers for this config.

Parameters:

`config` –

a buffer pool config

`queue_size` –

the number of buffers

Since : 1.24

### GstGL.prototype.buffer_pool_config_set_gl_min_free_queue_size

    function GstGL.prototype.buffer_pool_config_set_gl_min_free_queue_size(config: Gst.Structure, queue_size: Number): {
        // javascript wrapper for 'gst_buffer_pool_config_set_gl_min_free_queue_size'
    }

Instructs the GstGL.GLBufferPool to keep queue_size amount of buffers around before allowing them for reuse.

This is helpful to allow GPU processing to complete before the CPU operations on the same buffer could start. Particularly useful when uploading or downloading data to/from the GPU.

A value of 0 disabled this functionality.

This value must be less than the configured maximum amount of buffers for this config.

Parameters:

`config` (Gst.Structure) –

a buffer pool config

`queue_size` (Number) –

the number of buffers

Since : 1.24

### GstGL.buffer_pool_config_set_gl_min_free_queue_size

    def GstGL.buffer_pool_config_set_gl_min_free_queue_size (config, queue_size):
        #python wrapper for 'gst_buffer_pool_config_set_gl_min_free_queue_size'

Instructs the GstGL.GLBufferPool to keep queue_size amount of buffers around before allowing them for reuse.

This is helpful to allow GPU processing to complete before the CPU operations on the same buffer could start. Particularly useful when uploading or downloading data to/from the GPU.

A value of 0 disabled this functionality.

This value must be less than the configured maximum amount of buffers for this config.

Parameters:

`config` (Gst.Structure) –

a buffer pool config

`queue_size` (int) –

the number of buffers

Since : 1.24

## Function Macros

### GST_GL_BUFFER_POOL_CAST

    #define GST_GL_BUFFER_POOL_CAST(obj) ((GstGLBufferPool*)(obj))

The results of the search are