kmssink
kmssink is a simple video sink that renders video frames directly in a plane of a DRM device.
In advance usage, the behaviour of kmssink can be change using the supported properties. Note that plane and connectors IDs and properties can be enumerated using the modetest command line tool.
Example launch line
gst-launch-1.0 videotestsrc ! kmssink
gst-launch-1.0 videotestsrc ! kmssink plane-properties=s,rotation=4
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSink ╰──GstVideoSink ╰──kmssink
Implemented interfaces
Factory details
Authors: – Víctor Jáquez
Classification: – Sink/Video
Rank – secondary
Plugin – kms
Package – GStreamer Bad Plug-ins
Pad Templates
sink
video/x-raw:
format: { BGRA, RGBA, P016_LE, P010_10LE, NV24, BGRx, RGBx, RGB, BGR, Y42B, NV61, NV16, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, RGB16, BGR16 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Properties
bus-id
“bus-id” gchararray
If you have a system with multiple displays for the same driver-name, you can choose which display to use by setting the DRM bus ID. Otherwise, the driver decides which one.
Flags : Read / Write / Construct
Default value : NULL
can-scale
“can-scale” gboolean
User can tell kmssink if the driver can support scale.
Flags : Read / Write / Construct
Default value : true
connector-id
“connector-id” gint
A GPU has several output connectors, for example: LVDS, VGA, HDMI, etc. By default the first LVDS is tried, then the first eDP, and at the end, the first connected one.
Flags : Read / Write / Construct
Default value : -1
connector-properties
“connector-properties” GstStructure *
Additional properties for the connector. Keys are strings and values unsigned 64 bits integers.
Flags : Read / Write
Since : 1.16
display-height
“display-height” gint
Actual height of the display. This is read only and only available in PAUSED and PLAYING state. It's meant to be used with gst_video_overlay_set_render_rectangle function.
Flags : Read
Default value : 0
display-width
“display-width” gint
Actual width of the display. This is read only and only available in PAUSED and PLAYING state. It's meant to be used with gst_video_overlay_set_render_rectangle function.
Flags : Read
Default value : 0
driver-name
“driver-name” gchararray
If you have a system with multiple GPUs, you can choose which GPU to use setting the DRM device driver name. Otherwise, the first one from an internal list is used.
Flags : Read / Write / Construct
Default value : NULL
fd
“fd” gint
You can supply your own DRM file descriptor. By default, the sink will open its own DRM file descriptor.
Flags : Read / Write / Construct
Default value : -1
Since : 1.22
force-modesetting
“force-modesetting” gboolean
If the output connector is already active, the sink automatically uses an overlay plane. Enforce mode setting in the kms sink and output to the base plane to override the automatic behavior.
Flags : Read / Write / Construct
Default value : false
plane-id
“plane-id” gint
There could be several planes associated with a CRTC. By default the first plane that's possible to use with a given CRTC is tried.
Flags : Read / Write / Construct
Default value : -1
plane-properties
“plane-properties” GstStructure *
Additional properties for the plane. Keys are strings and values unsigned 64 bits integers.
Flags : Read / Write
Since : 1.16
render-rectangle
“render-rectangle” GstValueArray *
The render rectangle ('<x, y, width, height>')
Flags : Read / Write
restore-crtc
“restore-crtc” gboolean
Restore previous CRTC setting if new CRTC mode was set forcefully. By default this is enabled if user set CRTC with a new mode on an already active CRTC wich was having a valid mode.
Flags : Read / Write / Construct
Default value : true
skip-vsync
“skip-vsync” gboolean
For some cases, to suppress internal vsync, which can drop framerate in half, set this to 1.
Flags : Read / Write / Construct
Default value : false
Since : 1.22
The results of the search are