# GstVulkanDevice

A GstVulkanDevice encapsulates a VkDevice

## GstVulkanDevice

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanDevice

### Members

`parent` (GstObject) –

the parent GstObject

`instance` (GstVulkanInstance *) –

the GstVulkanInstance this device was allocated with

`physical_device` (GstVulkanPhysicalDevice *) –

the GstVulkanPhysicalDevice this device was allocated with

`device` (VkDevice) –

the vulkan device handle

Since : 1.18

### Class structure

#### GstVulkanDeviceClass

##### Fields

`parent_class` (GstObjectClass) –

the parent GstObjectClass

Since : 1.18

### GstVulkan.VulkanDeviceClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

### GstVulkan.VulkanDeviceClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

## GstVulkan.VulkanDevice

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

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`instance` (GstVulkan.VulkanInstance) –

the GstVulkan.VulkanInstance this device was allocated with

`physical_device` (GstVulkan.VulkanPhysicalDevice) –

the GstVulkan.VulkanPhysicalDevice this device was allocated with

`device` (Vulkan.Device) –

the vulkan device handle

Since : 1.18

## GstVulkan.VulkanDevice

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

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`instance` (GstVulkan.VulkanInstance) –

the GstVulkan.VulkanInstance this device was allocated with

`physical_device` (GstVulkan.VulkanPhysicalDevice) –

the GstVulkan.VulkanPhysicalDevice this device was allocated with

`device` (Vulkan.Device) –

the vulkan device handle

Since : 1.18

### Constructors

#### gst_vulkan_device_new

    GstVulkanDevice *
    gst_vulkan_device_new (GstVulkanPhysicalDevice * physical_device)

Parameters:

`physical_device` –

the associated GstVulkanPhysicalDevice

Returns ( [transfer: full]) –

a new GstVulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.new

    function GstVulkan.VulkanDevice.prototype.new(physical_device: GstVulkan.VulkanPhysicalDevice): {
        // javascript wrapper for 'gst_vulkan_device_new'
    }

Parameters:

`physical_device` (GstVulkan.VulkanPhysicalDevice) –

the associated GstVulkan.VulkanPhysicalDevice

Returns (GstVulkan.VulkanDevice) –

a new GstVulkan.VulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.new

    def GstVulkan.VulkanDevice.new (physical_device):
        #python wrapper for 'gst_vulkan_device_new'

Parameters:

`physical_device` (GstVulkan.VulkanPhysicalDevice) –

the associated GstVulkan.VulkanPhysicalDevice

Returns (GstVulkan.VulkanDevice) –

a new GstVulkan.VulkanDevice

Since : 1.18

#### gst_vulkan_device_new_with_index

    GstVulkanDevice *
    gst_vulkan_device_new_with_index (GstVulkanInstance * instance,
                                      guint device_index)

Parameters:

`instance` –

the associated GstVulkanInstance

`device_index` –

the device index to create the new GstVulkanDevice from

Returns ( [transfer: full]) –

a new GstVulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.new_with_index

    function GstVulkan.VulkanDevice.prototype.new_with_index(instance: GstVulkan.VulkanInstance, device_index: Number): {
        // javascript wrapper for 'gst_vulkan_device_new_with_index'
    }

Parameters:

`instance` (GstVulkan.VulkanInstance) –

the associated GstVulkan.VulkanInstance

`device_index` (Number) –

the device index to create the new GstVulkan.VulkanDevice from

Returns (GstVulkan.VulkanDevice) –

a new GstVulkan.VulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.new_with_index

    def GstVulkan.VulkanDevice.new_with_index (instance, device_index):
        #python wrapper for 'gst_vulkan_device_new_with_index'

Parameters:

`instance` (GstVulkan.VulkanInstance) –

the associated GstVulkan.VulkanInstance

`device_index` (int) –

the device index to create the new GstVulkan.VulkanDevice from

Returns (GstVulkan.VulkanDevice) –

a new GstVulkan.VulkanDevice

Since : 1.18

### Methods

#### gst_vulkan_device_create_fence

    GstVulkanFence *
    gst_vulkan_device_create_fence (GstVulkanDevice * device,
                                    GError ** error)

Parameters:

`device` –

a GstVulkanDevice

`error` –

a GError to fill on failure

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

a new GstVulkanFence or NULL

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.create_fence

    function GstVulkan.VulkanDevice.prototype.create_fence(): {
        // javascript wrapper for 'gst_vulkan_device_create_fence'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (GstVulkan.VulkanFence) –

a new GstVulkan.VulkanFence or null

Since : 1.18

#### GstVulkan.VulkanDevice.create_fence

    @raises(GLib.GError)
    def GstVulkan.VulkanDevice.create_fence (self):
        #python wrapper for 'gst_vulkan_device_create_fence'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (GstVulkan.VulkanFence) –

a new GstVulkan.VulkanFence or None

Since : 1.18

#### gst_vulkan_device_disable_extension

    gboolean
    gst_vulkan_device_disable_extension (GstVulkanDevice * device,
                                         const gchar * name)

Disable an Vulkan extension by name. Disabling an extension will only have an effect before the call to gst_vulkan_device_open.

Parameters:

`device` –

a GstVulkanDevice

`name` –

extension name to enable

Returns –

whether the Vulkan extension could be disabled.

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.disable_extension

    function GstVulkan.VulkanDevice.prototype.disable_extension(name: String): {
        // javascript wrapper for 'gst_vulkan_device_disable_extension'
    }

Disable an Vulkan extension by name. Disabling an extension will only have an effect before the call to GstVulkan.VulkanDevice.prototype.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (String) –

extension name to enable

Returns (Number) –

whether the Vulkan extension could be disabled.

Since : 1.18

#### GstVulkan.VulkanDevice.disable_extension

    def GstVulkan.VulkanDevice.disable_extension (self, name):
        #python wrapper for 'gst_vulkan_device_disable_extension'

Disable an Vulkan extension by name. Disabling an extension will only have an effect before the call to GstVulkan.VulkanDevice.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (str) –

extension name to enable

Returns (bool) –

whether the Vulkan extension could be disabled.

Since : 1.18

#### gst_vulkan_device_enable_extension

    gboolean
    gst_vulkan_device_enable_extension (GstVulkanDevice * device,
                                        const gchar * name)

Enable an Vulkan extension by name. Enabling an extension will only have an effect before the call to gst_vulkan_device_open.

Parameters:

`device` –

a GstVulkanDevice

`name` –

extension name to enable

Returns –

whether the Vulkan extension could be enabled.

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.enable_extension

    function GstVulkan.VulkanDevice.prototype.enable_extension(name: String): {
        // javascript wrapper for 'gst_vulkan_device_enable_extension'
    }

Enable an Vulkan extension by name. Enabling an extension will only have an effect before the call to GstVulkan.VulkanDevice.prototype.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (String) –

extension name to enable

Returns (Number) –

whether the Vulkan extension could be enabled.

Since : 1.18

#### GstVulkan.VulkanDevice.enable_extension

    def GstVulkan.VulkanDevice.enable_extension (self, name):
        #python wrapper for 'gst_vulkan_device_enable_extension'

Enable an Vulkan extension by name. Enabling an extension will only have an effect before the call to GstVulkan.VulkanDevice.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (str) –

extension name to enable

Returns (bool) –

whether the Vulkan extension could be enabled.

Since : 1.18

#### gst_vulkan_device_enable_layer

    gboolean
    gst_vulkan_device_enable_layer (GstVulkanDevice * device,
                                    const gchar * name)

Enable an Vulkan layer by name. Enabling a layer will only have an effect before the call to gst_vulkan_device_open.

Parameters:

`device` –

a GstVulkanDevice

`name` –

layer name to enable

Returns –

whether the Vulkan layer could be enabled.

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.enable_layer

    function GstVulkan.VulkanDevice.prototype.enable_layer(name: String): {
        // javascript wrapper for 'gst_vulkan_device_enable_layer'
    }

Enable an Vulkan layer by name. Enabling a layer will only have an effect before the call to GstVulkan.VulkanDevice.prototype.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (String) –

layer name to enable

Returns (Number) –

whether the Vulkan layer could be enabled.

Since : 1.18

#### GstVulkan.VulkanDevice.enable_layer

    def GstVulkan.VulkanDevice.enable_layer (self, name):
        #python wrapper for 'gst_vulkan_device_enable_layer'

Enable an Vulkan layer by name. Enabling a layer will only have an effect before the call to GstVulkan.VulkanDevice.open.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (str) –

layer name to enable

Returns (bool) –

whether the Vulkan layer could be enabled.

Since : 1.18

#### gst_vulkan_device_foreach_queue

    gst_vulkan_device_foreach_queue (GstVulkanDevice * device,
                                     GstVulkanDeviceForEachQueueFunc func,
                                     gpointer user_data)

Iterate over each queue family available on GstVulkanDevice

Parameters:

`device` –

a GstVulkanDevice

`func` ( [scope call][closure]) –

a GstVulkanDeviceForEachQueueFunc to run for each GstVulkanQueue

`user_data` –

user data to pass to each call of func

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.foreach_queue

    function GstVulkan.VulkanDevice.prototype.foreach_queue(func: GstVulkan.VulkanDeviceForEachQueueFunc, user_data: Object): {
        // javascript wrapper for 'gst_vulkan_device_foreach_queue'
    }

Iterate over each queue family available on GstVulkan.VulkanDevice

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`func` (GstVulkan.VulkanDeviceForEachQueueFunc) –

a GstVulkan.VulkanDeviceForEachQueueFunc to run for each GstVulkan.VulkanQueue

`user_data` (Object) –

user data to pass to each call of func

Since : 1.18

#### GstVulkan.VulkanDevice.foreach_queue

    def GstVulkan.VulkanDevice.foreach_queue (self, func, *user_data):
        #python wrapper for 'gst_vulkan_device_foreach_queue'

Iterate over each queue family available on GstVulkan.VulkanDevice

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`func` (GstVulkan.VulkanDeviceForEachQueueFunc) –

a GstVulkan.VulkanDeviceForEachQueueFunc to run for each GstVulkan.VulkanQueue

`user_data` (variadic) –

user data to pass to each call of func

Since : 1.18

#### gst_vulkan_device_get_instance

    GstVulkanInstance *
    gst_vulkan_device_get_instance (GstVulkanDevice * device)

Parameters:

`device` –

a GstVulkanDevice

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

the GstVulkanInstance used to create this device

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.get_instance

    function GstVulkan.VulkanDevice.prototype.get_instance(): {
        // javascript wrapper for 'gst_vulkan_device_get_instance'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (GstVulkan.VulkanInstance) –

the GstVulkan.VulkanInstance used to create this device

Since : 1.18

#### GstVulkan.VulkanDevice.get_instance

    def GstVulkan.VulkanDevice.get_instance (self):
        #python wrapper for 'gst_vulkan_device_get_instance'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (GstVulkan.VulkanInstance) –

the GstVulkan.VulkanInstance used to create this device

Since : 1.18

#### gst_vulkan_device_get_physical_device

    VkPhysicalDevice
    gst_vulkan_device_get_physical_device (GstVulkanDevice * device)

Parameters:

`device` –

a GstVulkanDevice

Returns –

The VkPhysicalDevice used to create device

Since : 1.18

#### gst_vulkan_device_get_proc_address

    gpointer
    gst_vulkan_device_get_proc_address (GstVulkanDevice * device,
                                        const gchar * name)

Performs `vkGetDeviceProcAddr()` with device and name

Parameters:

`device` –

a GstVulkanDevice

`name` –

name of the function to retrieve

Returns ( [nullable]) –

the function pointer for name or NULL

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.get_proc_address

    function GstVulkan.VulkanDevice.prototype.get_proc_address(name: String): {
        // javascript wrapper for 'gst_vulkan_device_get_proc_address'
    }

Performs `vkGetDeviceProcAddr()` with device and name

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (String) –

name of the function to retrieve

Returns (Object) –

the function pointer for name or null

Since : 1.18

#### GstVulkan.VulkanDevice.get_proc_address

    def GstVulkan.VulkanDevice.get_proc_address (self, name):
        #python wrapper for 'gst_vulkan_device_get_proc_address'

Performs `vkGetDeviceProcAddr()` with device and name

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`name` (str) –

name of the function to retrieve

Returns (object) –

the function pointer for name or None

Since : 1.18

#### gst_vulkan_device_get_queue

    GstVulkanQueue *
    gst_vulkan_device_get_queue (GstVulkanDevice * device,
                                 guint32 queue_family,
                                 guint32 queue_i)

Parameters:

`device` –

a GstVulkanDevice

`queue_family` –

a queue family to retrieve

`queue_i` –

index of the family to retrieve

Returns ( [transfer: full]) –

a new GstVulkanQueue

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.get_queue

    function GstVulkan.VulkanDevice.prototype.get_queue(queue_family: Number, queue_i: Number): {
        // javascript wrapper for 'gst_vulkan_device_get_queue'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`queue_family` (Number) –

a queue family to retrieve

`queue_i` (Number) –

index of the family to retrieve

Returns (GstVulkan.VulkanQueue) –

a new GstVulkan.VulkanQueue

Since : 1.18

#### GstVulkan.VulkanDevice.get_queue

    def GstVulkan.VulkanDevice.get_queue (self, queue_family, queue_i):
        #python wrapper for 'gst_vulkan_device_get_queue'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`queue_family` (int) –

a queue family to retrieve

`queue_i` (int) –

index of the family to retrieve

Returns (GstVulkan.VulkanQueue) –

a new GstVulkan.VulkanQueue

Since : 1.18

#### gst_vulkan_device_is_extension_enabled

    gboolean
    gst_vulkan_device_is_extension_enabled (GstVulkanDevice * device,
                                            const gchar * name)

Parameters:

`device` –

a # GstVulkanDevice

`name` –

extension name

Returns –

whether extension name is enabled

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.is_extension_enabled

    function GstVulkan.VulkanDevice.prototype.is_extension_enabled(name: String): {
        // javascript wrapper for 'gst_vulkan_device_is_extension_enabled'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a # GstVulkanDevice

`name` (String) –

extension name

Returns (Number) –

whether extension name is enabled

Since : 1.18

#### GstVulkan.VulkanDevice.is_extension_enabled

    def GstVulkan.VulkanDevice.is_extension_enabled (self, name):
        #python wrapper for 'gst_vulkan_device_is_extension_enabled'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a # GstVulkanDevice

`name` (str) –

extension name

Returns (bool) –

whether extension name is enabled

Since : 1.18

#### gst_vulkan_device_is_layer_enabled

    gboolean
    gst_vulkan_device_is_layer_enabled (GstVulkanDevice * device,
                                        const gchar * name)

Parameters:

`device` –

a # GstVulkanDevice

`name` –

layer name

Returns –

whether layer name is enabled

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.is_layer_enabled

    function GstVulkan.VulkanDevice.prototype.is_layer_enabled(name: String): {
        // javascript wrapper for 'gst_vulkan_device_is_layer_enabled'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a # GstVulkanDevice

`name` (String) –

layer name

Returns (Number) –

whether layer name is enabled

Since : 1.18

#### GstVulkan.VulkanDevice.is_layer_enabled

    def GstVulkan.VulkanDevice.is_layer_enabled (self, name):
        #python wrapper for 'gst_vulkan_device_is_layer_enabled'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a # GstVulkanDevice

`name` (str) –

layer name

Returns (bool) –

whether layer name is enabled

Since : 1.18

#### gst_vulkan_device_open

    gboolean
    gst_vulkan_device_open (GstVulkanDevice * device,
                            GError ** error)

Attempts to create the internal `VkDevice` object.

Parameters:

`device` –

a GstVulkanDevice

`error` –

a GError

Returns –

whether a vulkan device could be created

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.open

    function GstVulkan.VulkanDevice.prototype.open(): {
        // javascript wrapper for 'gst_vulkan_device_open'
    }

Attempts to create the internal `VkDevice` object.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (Number) –

whether a vulkan device could be created

Since : 1.18

#### GstVulkan.VulkanDevice.open

    @raises(GLib.GError)
    def GstVulkan.VulkanDevice.open (self):
        #python wrapper for 'gst_vulkan_device_open'

Attempts to create the internal `VkDevice` object.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns (bool) –

whether a vulkan device could be created

Since : 1.18

#### gst_vulkan_device_queue_family_indices

    GArray *
    gst_vulkan_device_queue_family_indices (GstVulkanDevice * device)

Parameters:

`device` –

a GstVulkanDevice

Returns ( [element-type uint32_t][transfer: full]) –

An array with the family indexes of the created queues in device

Since : 1.24

#### GstVulkan.VulkanDevice.prototype.queue_family_indices

    function GstVulkan.VulkanDevice.prototype.queue_family_indices(): {
        // javascript wrapper for 'gst_vulkan_device_queue_family_indices'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns ([ Number ]) –

An array with the family indexes of the created queues in device

Since : 1.24

#### GstVulkan.VulkanDevice.queue_family_indices

    def GstVulkan.VulkanDevice.queue_family_indices (self):
        #python wrapper for 'gst_vulkan_device_queue_family_indices'

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns ([ int ]) –

An array with the family indexes of the created queues in device

Since : 1.24

#### gst_vulkan_device_select_queue

    GstVulkanQueue *
    gst_vulkan_device_select_queue (GstVulkanDevice * device,
                                    VkQueueFlagBits expected_flags)

Select a compatible queue from the device supporting the expected_flags.

Parameters:

`device` –

a GstVulkanDevice

`expected_flags` –

a VkQueueFlagBits

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

a GstVulkanQueue for queue matching the expected_flags

Since : 1.24

#### GstVulkan.VulkanDevice.prototype.select_queue

    function GstVulkan.VulkanDevice.prototype.select_queue(expected_flags: Vulkan.QueueFlagBits): {
        // javascript wrapper for 'gst_vulkan_device_select_queue'
    }

Select a compatible queue from the device supporting the expected_flags.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`expected_flags` (Vulkan.QueueFlagBits) –

a VkQueueFlagBits

Returns (GstVulkan.VulkanQueue) –

a GstVulkan.VulkanQueue for queue matching the expected_flags

Since : 1.24

#### GstVulkan.VulkanDevice.select_queue

    def GstVulkan.VulkanDevice.select_queue (self, expected_flags):
        #python wrapper for 'gst_vulkan_device_select_queue'

Select a compatible queue from the device supporting the expected_flags.

Parameters:

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

`expected_flags` (Vulkan.QueueFlagBits) –

a VkQueueFlagBits

Returns (GstVulkan.VulkanQueue) –

a GstVulkan.VulkanQueue for queue matching the expected_flags

Since : 1.24

### Functions

#### gst_vulkan_device_handle_context_query

    gboolean
    gst_vulkan_device_handle_context_query (GstElement * element,
                                            GstQuery * query,
                                            GstVulkanDevice * device)

If a GstVulkanDevice is requested in query, sets device as the reply.

Intended for use with element query handlers to respond to GST_QUERY_CONTEXT for a GstVulkanDevice.

Parameters:

`element` –

a GstElement

`query` –

a GstQuery of type GST_QUERY_CONTEXT

`device` –

the GstVulkanDevice

Returns –

whether query was responded to with device

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.handle_context_query

    function GstVulkan.VulkanDevice.prototype.handle_context_query(element: Gst.Element, query: Gst.Query, device: GstVulkan.VulkanDevice): {
        // javascript wrapper for 'gst_vulkan_device_handle_context_query'
    }

If a GstVulkan.VulkanDevice is requested in query, sets device as the reply.

Intended for use with element query handlers to respond to Gst.QueryType.CONTEXT for a GstVulkan.VulkanDevice.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice

Returns (Number) –

whether query was responded to with device

Since : 1.18

#### GstVulkan.VulkanDevice.handle_context_query

    def GstVulkan.VulkanDevice.handle_context_query (element, query, device):
        #python wrapper for 'gst_vulkan_device_handle_context_query'

If a GstVulkan.VulkanDevice is requested in query, sets device as the reply.

Intended for use with element query handlers to respond to Gst.QueryType.CONTEXT for a GstVulkan.VulkanDevice.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`query` (Gst.Query) –

a Gst.Query of type Gst.QueryType.CONTEXT

`device` (GstVulkan.VulkanDevice) –

the GstVulkan.VulkanDevice

Returns (bool) –

whether query was responded to with device

Since : 1.18

#### gst_vulkan_device_run_context_query

    gboolean
    gst_vulkan_device_run_context_query (GstElement * element,
                                         GstVulkanDevice ** device)

Attempt to retrieve a GstVulkanDevice using GST_QUERY_CONTEXT from the surrounding elements of element.

Parameters:

`element` –

a GstElement

`device` ( [inout]) –

a GstVulkanDevice

Returns –

whether device contains a valid GstVulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.prototype.run_context_query

    function GstVulkan.VulkanDevice.prototype.run_context_query(element: Gst.Element, device: GstVulkan.VulkanDevice): {
        // javascript wrapper for 'gst_vulkan_device_run_context_query'
    }

Attempt to retrieve a GstVulkan.VulkanDevice using Gst.QueryType.CONTEXT from the surrounding elements of element.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns a tuple made of:

(Number ) –

whether device contains a valid GstVulkan.VulkanDevice

`device` (GstVulkan.VulkanDevice ) –

whether device contains a valid GstVulkan.VulkanDevice

Since : 1.18

#### GstVulkan.VulkanDevice.run_context_query

    def GstVulkan.VulkanDevice.run_context_query (element, device):
        #python wrapper for 'gst_vulkan_device_run_context_query'

Attempt to retrieve a GstVulkan.VulkanDevice using Gst.QueryType.CONTEXT from the surrounding elements of element.

Parameters:

`element` (Gst.Element) –

a Gst.Element

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Returns a tuple made of:

(bool ) –

whether device contains a valid GstVulkan.VulkanDevice

`device` (GstVulkan.VulkanDevice ) –

whether device contains a valid GstVulkan.VulkanDevice

Since : 1.18

### Properties

#### instance

    “instance” GstVulkanInstance *

Flags : Read

#### instance

    “instance” GstVulkan.VulkanInstance

Flags : Read

#### instance

    “self.props.instance” GstVulkan.VulkanInstance

Flags : Read

#### physical-device

    “physical-device” GstVulkanPhysicalDevice *

Flags : Read / Write / Construct Only

#### physical-device

    “physical-device” GstVulkan.VulkanPhysicalDevice

Flags : Read / Write / Construct Only

#### physical_device

    “self.props.physical_device” GstVulkan.VulkanPhysicalDevice

Flags : Read / Write / Construct Only

## Functions

### gst_context_get_vulkan_device

    gboolean
    gst_context_get_vulkan_device (GstContext * context,
                                   GstVulkanDevice ** device)

Parameters:

`context` –

a GstContext

`device` ( [out][optional][nullable][transfer: full]) –

resulting GstVulkanDevice

Returns –

Whether device was in context

Since : 1.18

### GstVulkan.prototype.context_get_vulkan_device

    function GstVulkan.prototype.context_get_vulkan_device(context: Gst.Context): {
        // javascript wrapper for 'gst_context_get_vulkan_device'
    }

Parameters:

`context` (Gst.Context) –

a Gst.Context

Returns a tuple made of:

(Number ) –

Whether device was in context

`device` (GstVulkan.VulkanDevice ) –

Whether device was in context

Since : 1.18

### GstVulkan.context_get_vulkan_device

    def GstVulkan.context_get_vulkan_device (context):
        #python wrapper for 'gst_context_get_vulkan_device'

Parameters:

`context` (Gst.Context) –

a Gst.Context

Returns a tuple made of:

(bool ) –

Whether device was in context

`device` (GstVulkan.VulkanDevice ) –

Whether device was in context

Since : 1.18

### gst_context_set_vulkan_device

    gst_context_set_vulkan_device (GstContext * context,
                                   GstVulkanDevice * device)

Sets device on context

Parameters:

`context` –

a GstContext

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

a GstVulkanDevice

Since : 1.18

### GstVulkan.prototype.context_set_vulkan_device

    function GstVulkan.prototype.context_set_vulkan_device(context: Gst.Context, device: GstVulkan.VulkanDevice): {
        // javascript wrapper for 'gst_context_set_vulkan_device'
    }

Sets device on context

Parameters:

`context` (Gst.Context) –

a Gst.Context

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Since : 1.18

### GstVulkan.context_set_vulkan_device

    def GstVulkan.context_set_vulkan_device (context, device):
        #python wrapper for 'gst_context_set_vulkan_device'

Sets device on context

Parameters:

`context` (Gst.Context) –

a Gst.Context

`device` (GstVulkan.VulkanDevice) –

a GstVulkan.VulkanDevice

Since : 1.18

## Constants

### GST_VULKAN_DEVICE_CONTEXT_TYPE_STR

    #define GST_VULKAN_DEVICE_CONTEXT_TYPE_STR "gst.vulkan.device"

Since : 1.18

### GstVulkan.VULKAN_DEVICE_CONTEXT_TYPE_STR

Since : 1.18

### GstVulkan.VULKAN_DEVICE_CONTEXT_TYPE_STR

Since : 1.18

## Callbacks

### GstVulkanDeviceForEachQueueFunc

    gboolean
    (*GstVulkanDeviceForEachQueueFunc) (GstVulkanDevice * device,
                                        GstVulkanQueue * queue,
                                        gpointer user_data)

Parameters:

`device` –
No description available
`queue` –
No description available
`user_data` –
No description available
Returns –
No description available

Since : 1.18

### GstVulkan.VulkanDeviceForEachQueueFunc

    function GstVulkan.VulkanDeviceForEachQueueFunc(device: GstVulkan.VulkanDevice, queue: GstVulkan.VulkanQueue, user_data: Object): {
        // javascript wrapper for 'GstVulkanDeviceForEachQueueFunc'
    }

Parameters:

`device` (GstVulkan.VulkanDevice) –
No description available
`queue` (GstVulkan.VulkanQueue) –
No description available
`user_data` (Object) –
No description available
Returns (Number) –
No description available

Since : 1.18

### GstVulkan.VulkanDeviceForEachQueueFunc

    def GstVulkan.VulkanDeviceForEachQueueFunc (device, queue, *user_data):
        #python wrapper for 'GstVulkanDeviceForEachQueueFunc'

Parameters:

`device` (GstVulkan.VulkanDevice) –
No description available
`queue` (GstVulkan.VulkanQueue) –
No description available
`user_data` (variadic) –
No description available
Returns (bool) –
No description available

Since : 1.18

The results of the search are