# GstVulkanHandle

GstVulkanHandle holds information about a vulkan handle.

## GstVulkanHandle

Holds information about a vulkan non dispatchable handle that only has a vulkan device as a parent and no specific host synchronisation requirements. Command buffers have extra requirements that are serviced by more specific implementations (#GstVulkanCommandBuffer, GstVulkanCommandPool).

### Members

`parent` (GstMiniObject) –

the parent GstMiniObject

`device` (GstVulkanDevice *) –

the GstVulkanDevice for this handle

`type` (GstVulkanHandleType) –

the type of handle

`handle` (GstVulkanHandleTypedef) –

the handle value

`notify` (GstVulkanHandleDestroyNotify) –
No description available
`user_data` (gpointer) –
No description available

Since : 1.18

## GstVulkan.VulkanHandle

Holds information about a vulkan non dispatchable handle that only has a vulkan device as a parent and no specific host synchronisation requirements. Command buffers have extra requirements that are serviced by more specific implementations (#GstVulkanCommandBuffer, GstVulkan.VulkanCommandPool).

### Members

`parent` (Gst.MiniObject) –

the parent Gst.MiniObject

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice for this handle

`type` (GstVulkan.VulkanHandleType) –

the type of handle

`handle` (uint64_t (not introspectable)) –

the handle value

`notify` (GstVulkan.VulkanHandleDestroyNotify) –
No description available
`user_data` (Object) –
No description available

Since : 1.18

## GstVulkan.VulkanHandle

Holds information about a vulkan non dispatchable handle that only has a vulkan device as a parent and no specific host synchronisation requirements. Command buffers have extra requirements that are serviced by more specific implementations (#GstVulkanCommandBuffer, GstVulkan.VulkanCommandPool).

### Members

`parent` (Gst.MiniObject) –

the parent Gst.MiniObject

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice for this handle

`type` (GstVulkan.VulkanHandleType) –

the type of handle

`handle` (uint64_t (not introspectable)) –

the handle value

`notify` (GstVulkan.VulkanHandleDestroyNotify) –
No description available
`user_data` (object) –
No description available

Since : 1.18

### Constructors

#### gst_vulkan_handle_new_wrapped

    GstVulkanHandle *
    gst_vulkan_handle_new_wrapped (GstVulkanDevice * device,
                                   GstVulkanHandleType type,
                                   GstVulkanHandleTypedef handle,
                                   GstVulkanHandleDestroyNotify notify,
                                   gpointer user_data)

Parameters:

`device` –
No description available
`type` –
No description available
`handle` –

a Vulkan handle

`notify` ( [scope call]) –

a GDestroyNotify

`user_data` –

data to pass to notify

Returns ( [transfer: full]) –

a new GstVulkanHandle wrapping handle

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.new_wrapped

    function GstVulkan.VulkanHandle.prototype.new_wrapped(device: GstVulkan.VulkanDevice, type: GstVulkan.VulkanHandleType, handle: uint64_t (not introspectable), notify: GstVulkan.VulkanHandleDestroyNotify, user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_new_wrapped'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –
No description available
`type` (GstVulkan.VulkanHandleType) –
No description available
`handle` (uint64_t (not introspectable)) –

a Vulkan handle

`notify` (GstVulkan.VulkanHandleDestroyNotify) –

a GDestroyNotify

`user_data` (Object) –

data to pass to notify

Returns (GstVulkan.VulkanHandle) –

a new GstVulkan.VulkanHandle wrapping handle

Since : 1.18

#### GstVulkan.VulkanHandle.new_wrapped

    def GstVulkan.VulkanHandle.new_wrapped (device, type, handle, notify, *user_data):
        #python wrapper for 'gst_vulkan_handle_new_wrapped'

Parameters:

`device` (GstVulkan.VulkanDevice) –
No description available
`type` (GstVulkan.VulkanHandleType) –
No description available
`handle` (uint64_t (not introspectable)) –

a Vulkan handle

`notify` (GstVulkan.VulkanHandleDestroyNotify) –

a GDestroyNotify

`user_data` (variadic) –

data to pass to notify

Returns (GstVulkan.VulkanHandle) –

a new GstVulkan.VulkanHandle wrapping handle

Since : 1.18

### Methods

#### gst_vulkan_handle_free_descriptor_set_layout

    gst_vulkan_handle_free_descriptor_set_layout (GstVulkanHandle * handle,
                                                  gpointer user_data)

Frees the descriptor set layout in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkDescriptorSetLayout`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_descriptor_set_layout

    function GstVulkan.VulkanHandle.prototype.free_descriptor_set_layout(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_descriptor_set_layout'
    }

Frees the descriptor set layout in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkDescriptorSetLayout`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_descriptor_set_layout

    def GstVulkan.VulkanHandle.free_descriptor_set_layout (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_descriptor_set_layout'

Frees the descriptor set layout in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkDescriptorSetLayout`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_framebuffer

    gst_vulkan_handle_free_framebuffer (GstVulkanHandle * handle,
                                        gpointer user_data)

Frees the framebuffer in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkFramebuffer`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_framebuffer

    function GstVulkan.VulkanHandle.prototype.free_framebuffer(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_framebuffer'
    }

Frees the framebuffer in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkFramebuffer`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_framebuffer

    def GstVulkan.VulkanHandle.free_framebuffer (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_framebuffer'

Frees the framebuffer in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkFramebuffer`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_pipeline

    gst_vulkan_handle_free_pipeline (GstVulkanHandle * handle,
                                     gpointer user_data)

Frees the pipeline in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkPipeline`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_pipeline

    function GstVulkan.VulkanHandle.prototype.free_pipeline(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_pipeline'
    }

Frees the pipeline in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkPipeline`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_pipeline

    def GstVulkan.VulkanHandle.free_pipeline (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_pipeline'

Frees the pipeline in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkPipeline`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_pipeline_layout

    gst_vulkan_handle_free_pipeline_layout (GstVulkanHandle * handle,
                                            gpointer user_data)

Frees the pipeline layout in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkPipelineLayout`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_pipeline_layout

    function GstVulkan.VulkanHandle.prototype.free_pipeline_layout(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_pipeline_layout'
    }

Frees the pipeline layout in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkPipelineLayout`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_pipeline_layout

    def GstVulkan.VulkanHandle.free_pipeline_layout (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_pipeline_layout'

Frees the pipeline layout in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkPipelineLayout`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_render_pass

    gst_vulkan_handle_free_render_pass (GstVulkanHandle * handle,
                                        gpointer user_data)

Frees the render pass in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkRenderPass`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_render_pass

    function GstVulkan.VulkanHandle.prototype.free_render_pass(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_render_pass'
    }

Frees the render pass in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkRenderPass`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_render_pass

    def GstVulkan.VulkanHandle.free_render_pass (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_render_pass'

Frees the render pass in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkRenderPass`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_sampler

    gst_vulkan_handle_free_sampler (GstVulkanHandle * handle,
                                    gpointer user_data)

Frees the sampler in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkSampler`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_sampler

    function GstVulkan.VulkanHandle.prototype.free_sampler(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_sampler'
    }

Frees the sampler in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkSampler`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_sampler

    def GstVulkan.VulkanHandle.free_sampler (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_sampler'

Frees the sampler in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkSampler`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_free_shader

    gst_vulkan_handle_free_shader (GstVulkanHandle * handle,
                                   gpointer user_data)

Frees the shader in handle

Parameters:

`handle` –

a GstVulkanHandle containing a vulkan `VkFramebuffer`

`user_data` –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.prototype.free_shader

    function GstVulkan.VulkanHandle.prototype.free_shader(user_data: Object): {
        // javascript wrapper for 'gst_vulkan_handle_free_shader'
    }

Frees the shader in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkFramebuffer`

`user_data` (Object) –

callback user data

Since : 1.18

#### GstVulkan.VulkanHandle.free_shader

    def GstVulkan.VulkanHandle.free_shader (self, user_data):
        #python wrapper for 'gst_vulkan_handle_free_shader'

Frees the shader in handle

Parameters:

`handle` (GstVulkan.VulkanHandle) –

a GstVulkan.VulkanHandle containing a vulkan `VkFramebuffer`

`user_data` (object) –

callback user data

Since : 1.18

#### gst_vulkan_handle_ref

    GstVulkanHandle *
    gst_vulkan_handle_ref (GstVulkanHandle * handle)

Increases the refcount of the given handle by one.

Parameters:

`handle` –

a GstVulkanHandle.

Returns ( [transfer: full]) –

buf

Since : 1.18

### Functions

#### gst_vulkan_handle_context_query

    gboolean
    gst_vulkan_handle_context_query (GstElement * element,
                                     GstQuery * query,
                                     GstVulkanDisplay * display,
                                     GstVulkanInstance * instance,
                                     GstVulkanDevice * device)

Parameters:

`element` –

a GstElement

`query` –

a GstQuery of type GST_QUERY_CONTEXT

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

a GstVulkanDisplay

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

a GstVulkanInstance

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

a GstVulkanInstance

Returns –

Whether the query was successfully responded to from the passed display, instance, and device.

Since : 1.18

#### GstVulkan.prototype.vulkan_handle_context_query

    function GstVulkan.prototype.vulkan_handle_context_query(element: Gst.Element, query: Gst.Query, display: GstVulkan.VulkanDisplay, instance: GstVulkan.VulkanInstance, device: GstVulkan.VulkanDevice): {
        // javascript wrapper for 'gst_vulkan_handle_context_query'
    }

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`display` (GstVulkan.VulkanDisplay) –

a GstVulkan.VulkanDisplay

`instance` (GstVulkan.VulkanInstance) –

a GstVulkan.VulkanInstance

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanInstance

Returns (Number) –

Whether the query was successfully responded to from the passed display, instance, and device.

Since : 1.18

#### GstVulkan.vulkan_handle_context_query

    def GstVulkan.vulkan_handle_context_query (element, query, display, instance, device):
        #python wrapper for 'gst_vulkan_handle_context_query'

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`display` (GstVulkan.VulkanDisplay) –

a GstVulkan.VulkanDisplay

`instance` (GstVulkan.VulkanInstance) –

a GstVulkan.VulkanInstance

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanInstance

Returns (bool) –

Whether the query was successfully responded to from the passed display, instance, and device.

Since : 1.18

#### gst_vulkan_handle_set_context

    gboolean
    gst_vulkan_handle_set_context (GstElement * element,
                                   GstContext * context,
                                   GstVulkanDisplay ** display,
                                   GstVulkanInstance ** instance)

Helper function for implementing set_context() in Vulkan capable elements.

Retrieve's the GstVulkanDisplay or GstVulkanInstance in context and places the result in display or instance respectively.

Parameters:

`element` –

a GstElement

`context` –

a GstContext

`display` ( [inout][transfer: full][optional]) –

location of a GstVulkanDisplay

`instance` ( [inout][transfer: full]) –

location of a GstVulkanInstance

Returns –

whether the display or instance could be set successfully

Since : 1.18

#### GstVulkan.prototype.vulkan_handle_set_context

    function GstVulkan.prototype.vulkan_handle_set_context(element: Gst.Element, context: Gst.Context, display: GstVulkan.VulkanDisplay, instance: GstVulkan.VulkanInstance): {
        // javascript wrapper for 'gst_vulkan_handle_set_context'
    }

Helper function for implementing vfunc_set_context() in Vulkan capable elements.

Retrieve's the GstVulkan.VulkanDisplay or GstVulkan.VulkanInstance in context and places the result in display or instance respectively.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`context` (Gst.Context) –

a Gst.Context

`display` (GstVulkan.VulkanDisplay) –

location of a GstVulkan.VulkanDisplay

`instance` (GstVulkan.VulkanInstance) –

location of a GstVulkan.VulkanInstance

Returns a tuple made of:

(Number ) –

whether the display or instance could be set successfully

`display` (GstVulkan.VulkanDisplay ) –

whether the display or instance could be set successfully

`instance` (GstVulkan.VulkanInstance ) –

whether the display or instance could be set successfully

Since : 1.18

#### GstVulkan.vulkan_handle_set_context

    def GstVulkan.vulkan_handle_set_context (element, context, display, instance):
        #python wrapper for 'gst_vulkan_handle_set_context'

Helper function for implementing do_set_context() in Vulkan capable elements.

Retrieve's the GstVulkan.VulkanDisplay or GstVulkan.VulkanInstance in context and places the result in display or instance respectively.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`context` (Gst.Context) –

a Gst.Context

`display` (GstVulkan.VulkanDisplay) –

location of a GstVulkan.VulkanDisplay

`instance` (GstVulkan.VulkanInstance) –

location of a GstVulkan.VulkanInstance

Returns a tuple made of:

(bool ) –

whether the display or instance could be set successfully

`display` (GstVulkan.VulkanDisplay ) –

whether the display or instance could be set successfully

`instance` (GstVulkan.VulkanInstance ) –

whether the display or instance could be set successfully

Since : 1.18

## Enumerations

### GstVulkanHandleType

##### Members

`GST_VULKAN_HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT` (1) –

descripter set layout

`GST_VULKAN_HANDLE_TYPE_PIPELINE_LAYOUT` (2) –

pipeline layout

`GST_VULKAN_HANDLE_TYPE_PIPELINE` (3) –

pipeline

`GST_VULKAN_HANDLE_TYPE_RENDER_PASS` (4) –

render pass

`GST_VULKAN_HANDLE_TYPE_SAMPLER` (5) –

sampler

`GST_VULKAN_HANDLE_TYPE_FRAMEBUFFER` (6) –

framebuffer

`GST_VULKAN_HANDLE_TYPE_SHADER` (7) –

shader

`GST_VULKAN_HANDLE_TYPE_VIDEO_SESSION` (8) –

video session

(Since: 1.24)
`GST_VULKAN_HANDLE_TYPE_VIDEO_SESSION_PARAMETERS` (9) –

video session parameters

(Since: 1.24)
`GST_VULKAN_HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION` (10) –

sampler with YCBCR conversion

(Since: 1.24)

Since : 1.18

### GstVulkan.VulkanHandleType

##### Members

`GstVulkan.VulkanHandleType.DESCRIPTOR_SET_LAYOUT` (1) –

descripter set layout

`GstVulkan.VulkanHandleType.PIPELINE_LAYOUT` (2) –

pipeline layout

`GstVulkan.VulkanHandleType.PIPELINE` (3) –

pipeline

`GstVulkan.VulkanHandleType.RENDER_PASS` (4) –

render pass

`GstVulkan.VulkanHandleType.SAMPLER` (5) –

sampler

`GstVulkan.VulkanHandleType.FRAMEBUFFER` (6) –

framebuffer

`GstVulkan.VulkanHandleType.SHADER` (7) –

shader

`GstVulkan.VulkanHandleType.VIDEO_SESSION` (8) –

video session

(Since: 1.24)
`GstVulkan.VulkanHandleType.VIDEO_SESSION_PARAMETERS` (9) –

video session parameters

(Since: 1.24)
`GstVulkan.VulkanHandleType.SAMPLER_YCBCR_CONVERSION` (10) –

sampler with YCBCR conversion

(Since: 1.24)

Since : 1.18

### GstVulkan.VulkanHandleType

##### Members

`GstVulkan.VulkanHandleType.DESCRIPTOR_SET_LAYOUT` (1) –

descripter set layout

`GstVulkan.VulkanHandleType.PIPELINE_LAYOUT` (2) –

pipeline layout

`GstVulkan.VulkanHandleType.PIPELINE` (3) –

pipeline

`GstVulkan.VulkanHandleType.RENDER_PASS` (4) –

render pass

`GstVulkan.VulkanHandleType.SAMPLER` (5) –

sampler

`GstVulkan.VulkanHandleType.FRAMEBUFFER` (6) –

framebuffer

`GstVulkan.VulkanHandleType.SHADER` (7) –

shader

`GstVulkan.VulkanHandleType.VIDEO_SESSION` (8) –

video session

(Since: 1.24)
`GstVulkan.VulkanHandleType.VIDEO_SESSION_PARAMETERS` (9) –

video session parameters

(Since: 1.24)
`GstVulkan.VulkanHandleType.SAMPLER_YCBCR_CONVERSION` (10) –

sampler with YCBCR conversion

(Since: 1.24)

Since : 1.18

## Constants

### GST_TYPE_VULKAN_HANDLE

    #define GST_TYPE_VULKAN_HANDLE (gst_vulkan_handle_get_type ())

Since : 1.18

### GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT

    #define GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT G_GUINT64_FORMAT

The printf format specifier for raw Vulkan non dispatchable handles.

When redefining VK_DEFINE_NON_DISPATCHABLE_HANDLE, also make sure to redefine a suitable printf format specifier.

Since : 1.18

## Aliases

### GstVulkanHandleTypedef

    typedef uint64_t GstVulkanHandleTypedef

Since : 1.18

## Callbacks

### GstVulkanHandleDestroyNotify

    (*GstVulkanHandleDestroyNotify) (GstVulkanHandle * handle,
                                     gpointer user_data)

Function definition called when the GstVulkanHandle is no longer in use. All implementations of this callback must free the internal handle stored inside handle.

Parameters:

`handle` –

the GstVulkanHandle

`user_data` –

callback user data

Since : 1.18

### GstVulkan.VulkanHandleDestroyNotify

    function GstVulkan.VulkanHandleDestroyNotify(handle: GstVulkan.VulkanHandle, user_data: Object): {
        // javascript wrapper for 'GstVulkanHandleDestroyNotify'
    }

Function definition called when the GstVulkan.VulkanHandle is no longer in use. All implementations of this callback must free the internal handle stored inside handle.

Parameters:

`handle` (GstVulkan.VulkanHandle) –

the GstVulkan.VulkanHandle

`user_data` (Object) –

callback user data

Since : 1.18

### GstVulkan.VulkanHandleDestroyNotify

    def GstVulkan.VulkanHandleDestroyNotify (handle, *user_data):
        #python wrapper for 'GstVulkanHandleDestroyNotify'

Function definition called when the GstVulkan.VulkanHandle is no longer in use. All implementations of this callback must free the internal handle stored inside handle.

Parameters:

`handle` (GstVulkan.VulkanHandle) –

the GstVulkan.VulkanHandle

`user_data` (variadic) –

callback user data

Since : 1.18

The results of the search are