#  Waylandsink

Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/waylandsink.html](https://docs.qualcomm.com/doc/80-70020-50/topic/waylandsink.html)

The waylandsink plugin uses the [GstVideoSink](https://gstreamer.freedesktop.org/documentation/video/gstvideosink.html?gi-language=c) GStreamer class. It's based on the
        Wayland [Weston](https://wayland.pages.freedesktop.org/weston/) compositor, which creates its own window and renders the
        incoming video frames in the window.

It maps the Weston client APIs and states to the appropriate GStreamer APIs and states.
            Qualcomm has extended the waylandsink implementation and added support for window
            positioning, a proprietary GBM-based buffer backend for zero-copy and XDG shell
            backend.

## Inheritance chain

[GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → [GstBaseSink](https://gstreamer.freedesktop.org/documentation/base/gstbasesink.html?gi-language=c) → [GstVideoSink](https://gstreamer.freedesktop.org/documentation/video/gstvideosink.html?gi-language=c) → GstWaylandSink

The following tables provide information on pad templates and element properties of
                waylandsink. For use cases, see [Video playback use cases](https://docs.qualcomm.com/doc/80-70020-50/topic/video-playback-use-cases.html).

## Pad configuration

| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | format: | { (string)BGRx, (string)BGRA, (string)RGBx, (string)xBGR,<br>                                (string)xRGB, (string)RGBA, (string)ABGR, (string)ARGB, (string)RGB,<br>                                (string)BGR, (string)RGB16, (string)BGR16, (string)YUY2,<br>                                (string)YVYU, (string)UYVY, (string)AYUV, (string)NV12,<br>                                (string)NV21, (string)NV16, (string)YUV9, (string)YVU9,<br>                                (string)Y41B, (string)I420, (string)YV12, (string)Y42B, (string)v308<br>                                } |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | width: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | height: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | framerate: | [ 0/1, 2147483647/1 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw(memory:DMABuf) | format: | { (string)BGRx, (string)BGRA, (string)RGBx, (string)xBGR,<br>                                (string)xRGB, (string)RGBA, (string)ABGR, (string)ARGB, (string)RGB,<br>                                (string)BGR, (string)RGB16, (string)BGR16, (string)YUY2,<br>                                (string)YVYU, (string)UYVY, (string)AYUV, (string)NV12,<br>                                (string)NV21, (string)NV16, (string)YUV9, (string)YVU9,<br>                                (string)Y41B, (string)I420, (string)YV12, (string)Y42B, (string)v308<br>                                } |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw(memory:DMABuf) | width: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw(memory:DMABuf) | height: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw(memory:DMABuf) | framerate: | [ 0/1, 2147483647/1 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | format: | { (string)BGRx, (string)BGRA, (string)RGBx, (string)xBGR,<br>                                (string)xRGB, (string)RGBA, (string)ABGR, (string)ARGB, (string)RGB,<br>                                (string)BGR, (string)RGB16, (string)BGR16, (string)YUY2,<br>                                (string)YVYU, (string)UYVY, (string)AYUV, (string)NV12,<br>                                (string)NV21, (string)NV16, (string)YUV9, (string)YVU9,<br>                                (string)Y41B, (string)I420, (string)YV12, (string)Y42B, (string)v308<br>                                } |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | width: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | height: | [ 1, 2147483647 ] |
| SINK template: 'sink'<br><br><br>                                <br>Availability*:* Always<br><br><br>                                <br>Direction: sink | video/x-raw | framerate: | [ 0/1, 2147483647/1 ] |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |

## Element configuration

Note: For the current release, **x**, **y**, **width**,
                and **height** properties aren't supported.

Table : Element properties of Waylandsink

| Property | Description |
| --- | --- |
| name | The name of the object.<ul class="ul" id="waylandsink__ul_v1g_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: "waylandsink0"</li><br><br>                                </ul> |
| parent | The parent of the object.<ul class="ul" id="waylandsink__ul_w1g_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Object of type "GstObject"</li><br><br>                                </ul> |
| sync | Sync on the clock.<ul class="ul" id="waylandsink__ul_x1g_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| max-lateness | Maximum number of nanoseconds that a buffer can be late before<br>                                it's dropped (-1 unlimited).<ul class="ul" id="waylandsink__ul_y1g_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer64. Range: ˗1 to 9223372036854775807, default:<br>                                        20000000</li><br><br>                                </ul> |
| qos | Generate quality-of-service events upstream.<ul class="ul" id="waylandsink__ul_z1g_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| async | Go asynchronously to PAUSED.<ul class="ul" id="waylandsink__ul_abg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| ts-offset | Timestamp offset in nanoseconds.<ul class="ul" id="waylandsink__ul_bbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer64. Range: ˗9223372036854775808 to<br>                                        9223372036854775807, default: 0</li><br><br>                                </ul> |
| enable-last-sample | Enable the last-sample property.<ul class="ul" id="waylandsink__ul_cbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| last-sample | The last sample that was received in the sink.<ul class="ul" id="waylandsink__ul_dbg_h24_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">Boxed pointer of type "GstSample"</li><br><br>                                </ul> |
| blocksize | Size in bytes to pull per buffer (0 = default).<ul class="ul" id="waylandsink__ul_ebg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer. Range: 0 - 4294967295 Default: 4096</li><br><br>                                </ul> |
| render-delay | More render delay of the sink in nanoseconds.<ul class="ul" id="waylandsink__ul_fbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer64. Range: 0 - 18446744073709551615 Default:<br>                                        0</li><br><br>                                </ul> |
| throttle-time | The time to keep between rendered buffers (0 = disabled).<ul class="ul" id="waylandsink__ul_gbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer64. Range: 0 - 18446744073709551615 Default:<br>                                        0</li><br><br>                                </ul> |
| max-bitrate | The maximum bits per second to render (0 = disabled).<ul class="ul" id="waylandsink__ul_hbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer64. Range: 0 - 18446744073709551615 Default:<br>                                        0</li><br><br>                                </ul> |
| show-preroll-frame | Render or not render the video frames during preroll.<ul class="ul" id="waylandsink__ul_ibg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| display | The Wayland display name that can be used to make a connection,<br>                                if it isn't supplied using the GstContext.<ul class="ul" id="waylandsink__ul_jbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| xdg-shell | Use the XDG shell protocol for the display.<ul class="ul" id="waylandsink__ul_kbg_h24_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| fullscreen | Determine if the surface should be full screen.<ul class="ul" id="waylandsink__ul_lbg_h24_myb"><br>                                    <li class="li">flags: readable, writable, changeable in NULL, READY,<br>                                        PAUSED, or PLAYING state</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |

**Parent Topic:** [Configure display, camera, encode and decode plugins](https://docs.qualcomm.com/doc/80-70020-50/topic/display-plugins.html)

Last Published: Jan 30, 2026

[Previous Topic
qtivcomposer](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/qtivcomposer.md) [Next Topic
qtivsplit](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/qtivsplit.md)