# GstVulkanHandlePool

GstVulkanHandlePool holds a number of handles that are pooled together.

## GstVulkanHandlePool

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanHandlePool
                    ╰──GstVulkanDescriptorCache
                    ╰──GstVulkanFenceCache
                    ╰──GstVulkanTrashList

### Members

`parent` (GstObject) –

the parent GstObject

`device` (GstVulkanDevice *) –

the GstVulkanDevice handles are allocated from

`outstanding` (GPtrArray *) –

the collection of outstanding handles

`available` (GPtrArray *) –

the collection of allocated and available handles

Since : 1.18

### Class structure

#### GstVulkanHandlePoolClass

##### Fields

`parent` (GstObjectClass) –

the parent GstObjectClass

Since : 1.18

### GstVulkan.VulkanHandlePoolClass

##### Attributes

`parent` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

### GstVulkan.VulkanHandlePoolClass

##### Attributes

`parent` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

## GstVulkan.VulkanHandlePool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanHandlePool
                    ╰──GstVulkan.VulkanDescriptorCache
                    ╰──GstVulkan.VulkanFenceCache
                    ╰──GstVulkan.VulkanTrashList

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice handles are allocated from

`outstanding` ([ Object ]) –

the collection of outstanding handles

`available` ([ Object ]) –

the collection of allocated and available handles

Since : 1.18

## GstVulkan.VulkanHandlePool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanHandlePool
                    ╰──GstVulkan.VulkanDescriptorCache
                    ╰──GstVulkan.VulkanFenceCache
                    ╰──GstVulkan.VulkanTrashList

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice handles are allocated from

`outstanding` ([ object ]) –

the collection of outstanding handles

`available` ([ object ]) –

the collection of allocated and available handles

Since : 1.18

### Methods

#### gst_vulkan_handle_pool_acquire

    gpointer
    gst_vulkan_handle_pool_acquire (GstVulkanHandlePool * pool,
                                    GError ** error)

Parameters:

`pool` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanHandlePool.prototype.acquire

    function GstVulkan.VulkanHandlePool.prototype.acquire(): {
        // javascript wrapper for 'gst_vulkan_handle_pool_acquire'
    }

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (Object) –
No description available

#### GstVulkan.VulkanHandlePool.acquire

    @raises(GLib.GError)
    def GstVulkan.VulkanHandlePool.acquire (self):
        #python wrapper for 'gst_vulkan_handle_pool_acquire'

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (object) –
No description available

#### gst_vulkan_handle_pool_alloc

    gpointer
    gst_vulkan_handle_pool_alloc (GstVulkanHandlePool * pool,
                                  GError ** error)

Parameters:

`pool` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanHandlePool.prototype.alloc

    function GstVulkan.VulkanHandlePool.prototype.alloc(): {
        // javascript wrapper for 'gst_vulkan_handle_pool_alloc'
    }

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (Object) –
No description available

#### GstVulkan.VulkanHandlePool.alloc

    @raises(GLib.GError)
    def GstVulkan.VulkanHandlePool.alloc (self):
        #python wrapper for 'gst_vulkan_handle_pool_alloc'

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (object) –
No description available

#### gst_vulkan_handle_pool_release

    gst_vulkan_handle_pool_release (GstVulkanHandlePool * pool,
                                    gpointer handle)

Parameters:

`pool` –
No description available
`handle` –
No description available

#### GstVulkan.VulkanHandlePool.prototype.release

    function GstVulkan.VulkanHandlePool.prototype.release(handle: Object): {
        // javascript wrapper for 'gst_vulkan_handle_pool_release'
    }

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (Object) –
No description available

#### GstVulkan.VulkanHandlePool.release

    def GstVulkan.VulkanHandlePool.release (self, handle):
        #python wrapper for 'gst_vulkan_handle_pool_release'

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (object) –
No description available

### Virtual Methods

#### acquire

    gpointer
    acquire (GstVulkanHandlePool * pool,
             GError ** error)

acquire a handle for usage

Parameters:

`pool` –
No description available
`error` –
No description available
Returns –
No description available

#### vfunc_acquire

    function vfunc_acquire(pool: GstVulkan.VulkanHandlePool): {
        // javascript implementation of the 'acquire' virtual method
    }

acquire a handle for usage

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (Object) –
No description available

#### do_acquire

    def do_acquire (pool):
        #python implementation of the 'acquire' virtual method

acquire a handle for usage

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (object) –
No description available

#### alloc

    gpointer
    alloc (GstVulkanHandlePool * pool,
           GError ** error)

allocate a new handle

Parameters:

`pool` –
No description available
`error` –
No description available
Returns –
No description available

#### vfunc_alloc

    function vfunc_alloc(pool: GstVulkan.VulkanHandlePool): {
        // javascript implementation of the 'alloc' virtual method
    }

allocate a new handle

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (Object) –
No description available

#### do_alloc

    def do_alloc (pool):
        #python implementation of the 'alloc' virtual method

allocate a new handle

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
Returns (object) –
No description available

#### free

    free (GstVulkanHandlePool * pool,
          gpointer handle)

free a handle

Parameters:

`pool` –
No description available
`handle` –
No description available

#### vfunc_free

    function vfunc_free(pool: GstVulkan.VulkanHandlePool, handle: Object): {
        // javascript implementation of the 'free' virtual method
    }

free a handle

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (Object) –
No description available

#### do_free

    def do_free (pool, handle):
        #python implementation of the 'free' virtual method

free a handle

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (object) –
No description available

#### release

    release (GstVulkanHandlePool * pool,
             gpointer handle)

release a handle for possible reuse at the next call to acquire

Parameters:

`pool` –
No description available
`handle` –
No description available

#### vfunc_release

    function vfunc_release(pool: GstVulkan.VulkanHandlePool, handle: Object): {
        // javascript implementation of the 'release' virtual method
    }

release a handle for possible reuse at the next call to acquire

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (Object) –
No description available

#### do_release

    def do_release (pool, handle):
        #python implementation of the 'release' virtual method

release a handle for possible reuse at the next call to acquire

Parameters:

`pool` (GstVulkan.VulkanHandlePool) –
No description available
`handle` (object) –
No description available

## Function Macros

### GST_VULKAN_HANDLE_POOL_CAST

    #define GST_VULKAN_HANDLE_POOL_CAST(o)         ((GstVulkanHandlePool *) o)

Since : 1.18

The results of the search are