# GstVulkanCommandPool

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanCommandPool

### Members

`parent` (GstObject) –

the parent GstObject

`queue` (GstVulkanQueue *) –

the GstVulkanQueue to command buffers will be allocated from

`pool` (VkCommandPool) –

the vulkan command pool handle

Since : 1.18

### Class structure

#### GstVulkanCommandPoolClass

##### Fields

`parent_class` (GstObjectClass) –

the parent GstObjectClass

Since : 1.18

### GstVulkan.VulkanCommandPoolClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

### GstVulkan.VulkanCommandPoolClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

## GstVulkan.VulkanCommandPool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanCommandPool

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`queue` (GstVulkan.VulkanQueue) –

the GstVulkan.VulkanQueue to command buffers will be allocated from

`pool` (Vulkan.CommandPool) –

the vulkan command pool handle

Since : 1.18

## GstVulkan.VulkanCommandPool

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanCommandPool

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`queue` (GstVulkan.VulkanQueue) –

the GstVulkan.VulkanQueue to command buffers will be allocated from

`pool` (Vulkan.CommandPool) –

the vulkan command pool handle

Since : 1.18

### Methods

#### gst_vulkan_command_pool_create

    GstVulkanCommandBuffer *
    gst_vulkan_command_pool_create (GstVulkanCommandPool * pool,
                                    GError ** error)

Parameters:

`pool` –

a GstVulkanCommandPool

`error` –

a GError

Returns –

a new or recycled primary GstVulkanCommandBuffer

Since : 1.18

#### GstVulkan.VulkanCommandPool.prototype.create

    function GstVulkan.VulkanCommandPool.prototype.create(): {
        // javascript wrapper for 'gst_vulkan_command_pool_create'
    }

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Returns (GstVulkan.VulkanCommandBuffer) –

a new or recycled primary GstVulkan.VulkanCommandBuffer

Since : 1.18

#### GstVulkan.VulkanCommandPool.create

    @raises(GLib.GError)
    def GstVulkan.VulkanCommandPool.create (self):
        #python wrapper for 'gst_vulkan_command_pool_create'

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Returns (GstVulkan.VulkanCommandBuffer) –

a new or recycled primary GstVulkan.VulkanCommandBuffer

Since : 1.18

#### gst_vulkan_command_pool_get_queue

    GstVulkanQueue *
    gst_vulkan_command_pool_get_queue (GstVulkanCommandPool * pool)

Parameters:

`pool` –

a GstVulkanCommandPool

Returns ( [transfer: full]) –

the parent GstVulkanQueue for this command pool

Since : 1.18

#### GstVulkan.VulkanCommandPool.prototype.get_queue

    function GstVulkan.VulkanCommandPool.prototype.get_queue(): {
        // javascript wrapper for 'gst_vulkan_command_pool_get_queue'
    }

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Returns (GstVulkan.VulkanQueue) –

the parent GstVulkan.VulkanQueue for this command pool

Since : 1.18

#### GstVulkan.VulkanCommandPool.get_queue

    def GstVulkan.VulkanCommandPool.get_queue (self):
        #python wrapper for 'gst_vulkan_command_pool_get_queue'

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Returns (GstVulkan.VulkanQueue) –

the parent GstVulkan.VulkanQueue for this command pool

Since : 1.18

#### gst_vulkan_command_pool_lock

    gst_vulkan_command_pool_lock (GstVulkanCommandPool * pool)

This should be called to ensure no other thread will attempt to access the pool's internal resources. Any modification of any of the allocated GstVulkanCommandBuffer's need to be encapsulated in a gst_vulkan_command_pool_lock/gst_vulkan_command_pool_unlock pair to meet the Vulkan API requirements that host access to the command pool is externally synchronised.

Parameters:

`pool` –

a GstVulkanCommandPool

Since : 1.18

#### GstVulkan.VulkanCommandPool.prototype.lock

    function GstVulkan.VulkanCommandPool.prototype.lock(): {
        // javascript wrapper for 'gst_vulkan_command_pool_lock'
    }

This should be called to ensure no other thread will attempt to access the pool's internal resources. Any modification of any of the allocated GstVulkan.VulkanCommandBuffer's need to be encapsulated in a GstVulkan.VulkanCommandPool.prototype.lock/GstVulkan.VulkanCommandPool.prototype.unlock pair to meet the Vulkan API requirements that host access to the command pool is externally synchronised.

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Since : 1.18

#### GstVulkan.VulkanCommandPool.lock

    def GstVulkan.VulkanCommandPool.lock (self):
        #python wrapper for 'gst_vulkan_command_pool_lock'

This should be called to ensure no other thread will attempt to access the pool's internal resources. Any modification of any of the allocated GstVulkan.VulkanCommandBuffer's need to be encapsulated in a GstVulkan.VulkanCommandPool.lock/GstVulkan.VulkanCommandPool.unlock pair to meet the Vulkan API requirements that host access to the command pool is externally synchronised.

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Since : 1.18

#### gst_vulkan_command_pool_unlock

    gst_vulkan_command_pool_unlock (GstVulkanCommandPool * pool)

See the documentation for gst_vulkan_command_pool_lock for when you would need to use this function.

Parameters:

`pool` –

a GstVulkanCommandPool

Since : 1.18

#### GstVulkan.VulkanCommandPool.prototype.unlock

    function GstVulkan.VulkanCommandPool.prototype.unlock(): {
        // javascript wrapper for 'gst_vulkan_command_pool_unlock'
    }

See the documentation for GstVulkan.VulkanCommandPool.prototype.lock for when you would need to use this function.

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Since : 1.18

#### GstVulkan.VulkanCommandPool.unlock

    def GstVulkan.VulkanCommandPool.unlock (self):
        #python wrapper for 'gst_vulkan_command_pool_unlock'

See the documentation for GstVulkan.VulkanCommandPool.lock for when you would need to use this function.

Parameters:

`pool` (GstVulkan.VulkanCommandPool) –

a GstVulkan.VulkanCommandPool

Since : 1.18

The results of the search are