waylandsink
The waylandsink element is a video sink element that uses the wayland's weston compositor implementation. It maps weston's client APIs and states to the appropriate GStreamer APIs and states. It is based on the GStreamer GstVideoSink base class for video sinks. For more information on the methods and call flow of GstVideoSink please refer https://gstreamer.freedesktop.org/documentation/video/gstvideosink.html?gi-language=c.
QTI has extended the waylandsink implementation and added support for window positioning and proprietory GBM based buffer backend for zero-copy. For information on pad templates and properties supported by the upstream waylandsink element, please refer https://gstreamer.freedesktop.org/documentation/waylandsink/index.html?gi-language=c.
Below are pad templates and properties added by QTI.
Pad templates
sink (input)
video/x-raw(memory:GBM)
format: { (string)BGRx, (string)BGRA, (string)RGBx, (string)xBGR, (string)xRGB, (string)RGBA, (string)ABGR, (string)ARGB, (string)RGB, (string)BGR, (string)RGB16, (string)BGR16, (string)YUY2, (string)YVYU, (string)UYVY, (string)AYUV, (string)NV12, (string)NV21, (string)NV16, (string)YUV9, (string)YVU9, (string)Y41B, (string)I420, (string)YV12, (string)Y42B, (string)v308 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Presence – always
Direction – sink
Properties
xdg-shell
Enables XDG shell protocol for the display.
type: Boolean
access: read/write
default: true
x
X position for the content.
type: Unsigned Integer
access: read/write
default: 0
range: 0 - 1920
y
y position for the content.
type: Unsigned Integer
access: read/write
default: 0
range: 0 - 1080
width
The destination width for the content.
type: Unsigned Integer
access: read/write
default: 640
range: 0 - 1920
height
The destination height for the content.
type: Unsigned Integer
access: read/write
default: 480
range: 0 - 1080