# GstVulkanSwapper

GstVulkanSwapper is a helper object for rendering to a surface exposed by GstVulkanWindow.

## GstVulkanSwapper

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanSwapper

### Members

`parent` (GstObject) –

parent GstObject

`device` (GstVulkanDevice *) –

the GstVulkanDevice

`window` (GstVulkanWindow *) –

the GstVulkanWindow to display into

`queue` (GstVulkanQueue *) –

the GstVulkanQueue to display with

`cmd_pool` (GstVulkanCommandPool *) –

the GstVulkanCommandPool to allocate command buffers from

### Class structure

#### GstVulkanSwapperClass

##### Fields

`parent_class` (GstObjectClass) –

parent GstObjectClass

### GstVulkan.VulkanSwapperClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

parent Gst.ObjectClass

### GstVulkan.VulkanSwapperClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

parent Gst.ObjectClass

## GstVulkanSwapper

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanSwapper

### Members

`parent` (GstObject) –

parent GstObject

`device` (GstVulkanDevice) –

the GstVulkanDevice

`window` (GstVulkanWindow) –

the GstVulkanWindow to display into

`queue` (GstVulkanQueue) –

the GstVulkanQueue to display with

`cmd_pool` (GstVulkanCommandPool) –

the GstVulkanCommandPool to allocate command buffers from

## GstVulkanSwapper

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanSwapper

### Members

`parent` (GstObject) –

parent GstObject

`device` (GstVulkanDevice) –

the GstVulkanDevice

`window` (GstVulkanWindow) –

the GstVulkanWindow to display into

`queue` (GstVulkanQueue) –

the GstVulkanQueue to display with

`cmd_pool` (GstVulkanCommandPool) –

the GstVulkanCommandPool to allocate command buffers from

### Constructors

#### gst_vulkan_swapper_new

    GstVulkanSwapper *
    gst_vulkan_swapper_new (GstVulkanDevice * device,
                            GstVulkanWindow * window)

Parameters:

`device` –
No description available
`window` –
No description available
Returns –
No description available

#### GstVulkan.VulkanSwapper.prototype.new

    function GstVulkan.VulkanSwapper.prototype.new(device: GstVulkan.VulkanDevice, window: GstVulkan.VulkanWindow): {
        // javascript wrapper for 'gst_vulkan_swapper_new'
    }

Parameters:

`device` ( GstVulkan.VulkanDevice ) –
No description available
`window` ( GstVulkan.VulkanWindow ) –
No description available
Returns ( GstVulkan.VulkanSwapper ) –
No description available

#### GstVulkan.VulkanSwapper.new

    def GstVulkan.VulkanSwapper.new (device, window):
        #python wrapper for 'gst_vulkan_swapper_new'

Parameters:

`device` ( GstVulkan.VulkanDevice ) –
No description available
`window` ( GstVulkan.VulkanWindow ) –
No description available
Returns ( GstVulkan.VulkanSwapper ) –
No description available

### Methods

#### gst_vulkan_swapper_choose_queue

    gboolean
    gst_vulkan_swapper_choose_queue (GstVulkanSwapper * swapper,
                                     GstVulkanQueue * available_queue,
                                     GError ** error)

Parameters:

`swapper` –
No description available
`available_queue` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanSwapper.prototype.choose_queue

    function GstVulkan.VulkanSwapper.prototype.choose_queue(available_queue: GstVulkan.VulkanQueue): {
        // javascript wrapper for 'gst_vulkan_swapper_choose_queue'
    }

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`available_queue` ( GstVulkan.VulkanQueue ) –
No description available
Returns ( Number ) –
No description available

#### GstVulkan.VulkanSwapper.choose_queue

    @raises(GLib.GError)
    def GstVulkan.VulkanSwapper.choose_queue (self, available_queue):
        #python wrapper for 'gst_vulkan_swapper_choose_queue'

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`available_queue` ( GstVulkan.VulkanQueue ) –
No description available
Returns ( bool ) –
No description available

#### gst_vulkan_swapper_get_supported_caps

    GstCaps *
    gst_vulkan_swapper_get_supported_caps (GstVulkanSwapper * swapper,
                                           GError ** error)

Parameters:

`swapper` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanSwapper.prototype.get_supported_caps

    function GstVulkan.VulkanSwapper.prototype.get_supported_caps(): {
        // javascript wrapper for 'gst_vulkan_swapper_get_supported_caps'
    }

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
Returns ( Gst.Caps ) –
No description available

#### GstVulkan.VulkanSwapper.get_supported_caps

    @raises(GLib.GError)
    def GstVulkan.VulkanSwapper.get_supported_caps (self):
        #python wrapper for 'gst_vulkan_swapper_get_supported_caps'

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
Returns ( Gst.Caps ) –
No description available

#### gst_vulkan_swapper_get_surface_rectangles

    gst_vulkan_swapper_get_surface_rectangles (GstVulkanSwapper * swapper,
                                               GstVideoRectangle * input_image,
                                               GstVideoRectangle * surface_location,
                                               GstVideoRectangle * display_rect)

Parameters:

`swapper` –

a GstVulkanSwapper

`input_image` ( [out] [nullable] ) –

The GstVideoRectangle for the configured caps modified for DAR.

`surface_location` ( [out] [nullable] ) –

The GstVideoRectangle for where the output surface is located relative to its parent

`display_rect` ( [out] [nullable] ) –

The GstVideoRectangle for where the input images are placed inside surface_location

Since : 1.18

#### GstVulkan.VulkanSwapper.prototype.get_surface_rectangles

    function GstVulkan.VulkanSwapper.prototype.get_surface_rectangles(): {
        // javascript wrapper for 'gst_vulkan_swapper_get_surface_rectangles'
    }

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –

a GstVulkan.VulkanSwapper

Since : 1.18

#### GstVulkan.VulkanSwapper.get_surface_rectangles

    def GstVulkan.VulkanSwapper.get_surface_rectangles (self):
        #python wrapper for 'gst_vulkan_swapper_get_surface_rectangles'

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –

a GstVulkan.VulkanSwapper

Since : 1.18

#### gst_vulkan_swapper_render_buffer

    gboolean
    gst_vulkan_swapper_render_buffer (GstVulkanSwapper * swapper,
                                      GstBuffer * buffer,
                                      GError ** error)

Parameters:

`swapper` –
No description available
`buffer` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanSwapper.prototype.render_buffer

    function GstVulkan.VulkanSwapper.prototype.render_buffer(buffer: Gst.Buffer): {
        // javascript wrapper for 'gst_vulkan_swapper_render_buffer'
    }

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`buffer` ( Gst.Buffer ) –
No description available
Returns ( Number ) –
No description available

#### GstVulkan.VulkanSwapper.render_buffer

    @raises(GLib.GError)
    def GstVulkan.VulkanSwapper.render_buffer (self, buffer):
        #python wrapper for 'gst_vulkan_swapper_render_buffer'

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`buffer` ( Gst.Buffer ) –
No description available
Returns ( bool ) –
No description available

#### gst_vulkan_swapper_set_caps

    gboolean
    gst_vulkan_swapper_set_caps (GstVulkanSwapper * swapper,
                                 GstCaps * caps,
                                 GError ** error)

Parameters:

`swapper` –
No description available
`caps` –
No description available
`error` –
No description available
Returns –
No description available

#### GstVulkan.VulkanSwapper.prototype.set_caps

    function GstVulkan.VulkanSwapper.prototype.set_caps(caps: Gst.Caps): {
        // javascript wrapper for 'gst_vulkan_swapper_set_caps'
    }

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`caps` ( Gst.Caps ) –
No description available
Returns ( Number ) –
No description available

#### GstVulkan.VulkanSwapper.set_caps

    @raises(GLib.GError)
    def GstVulkan.VulkanSwapper.set_caps (self, caps):
        #python wrapper for 'gst_vulkan_swapper_set_caps'

Parameters:

`swapper` ( GstVulkan.VulkanSwapper ) –
No description available
`caps` ( Gst.Caps ) –
No description available
Returns ( bool ) –
No description available

### Properties

#### force-aspect-ratio

    “force-aspect-ratio” gboolean

Flags : Read / Write

#### force-aspect-ratio

    “force-aspect-ratio” Number

Flags : Read / Write

#### force_aspect_ratio

    “self.props.force_aspect_ratio” bool

Flags : Read / Write

#### pixel-aspect-ratio

    “pixel-aspect-ratio” GstFraction *

Flags : Read / Write

#### pixel-aspect-ratio

    “pixel-aspect-ratio” Gst.Fraction

Flags : Read / Write

#### pixel_aspect_ratio

    “self.props.pixel_aspect_ratio” Gst.Fraction

Flags : Read / Write

## Constants

### GST_VULKAN_SWAPPER_VIDEO_FORMATS

    #define GST_VULKAN_SWAPPER_VIDEO_FORMATS " { RGBA, BGRA, RGB, BGR } "

### GstVulkan.VULKAN_SWAPPER_VIDEO_FORMATS

The results of the search are