## kmssink

kmssink — A KMS/DRM based video sink

## Properties

gint | connector-id | Read / Write / Construct
gchar * | driver-name | Read / Write / Construct
gint | plane-id | Read / Write / Construct
gboolean | force-modesetting | Read / Write / Construct
gchar * | bus-id | Read / Write / Construct
gboolean | can-scale | Read / Write / Construct
gint | display-height | Read
gint | display-width | Read
GstValueArray | render-rectangle | Write
GstStructure * | connector-properties | Read / Write
GstStructure * | plane-properties | Read / Write
gboolean | restore-crtc | Read / Write / Construct

## Types and Values

struct | GstKMSSink

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseSink
                        ╰── GstVideoSink
                            ╰── GstKMSSink

## Implemented Interfaces

GstKMSSink implements GstVideoOverlay.

## Description

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

    1
    2

    gst-launch-1.0 videotestsrc ! kmssink
    gst-launch-1.0 videotestsrc ! kmssink plane-properties=s,rotation=4

## Synopsis

### Element Information

plugin | kms
author | Víctor Jáquez <vjaquez@igalia.com>
class | Sink/Video

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw, format=(string){ BGRA, BGRx, RGBA, RGBx, RGB, BGR, UYVY, YUY2, YVYU, I420, YV12, Y42B, NV12, NV21, NV16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Functions

## Types and Values

### struct GstKMSSink

    struct GstKMSSink;

## Property Details

### The `“connector-id”` property

      “connector-id”             gint

DRM connector id.

Flags: Read / Write / Construct

Allowed values: >= G_MAXULONG

Default value: -1

### The `“driver-name”` property

      “driver-name”              gchar *

DRM device driver name.

Flags: Read / Write / Construct

Default value: NULL

### The `“plane-id”` property

      “plane-id”                 gint

DRM plane id.

Flags: Read / Write / Construct

Allowed values: >= G_MAXULONG

Default value: -1

### The `“force-modesetting”` property

      “force-modesetting”        gboolean

When enabled, the sink try to configure the display mode.

Flags: Read / Write / Construct

Default value: FALSE

### The `“bus-id”` property

      “bus-id”                   gchar *

DRM bus ID.

Flags: Read / Write / Construct

Default value: NULL

### The `“can-scale”` property

      “can-scale”                gboolean

User can tell kmssink if the driver can support scale.

Flags: Read / Write / Construct

Default value: TRUE

### The `“display-height”` property

      “display-height”           gint

Height of the display surface in pixels.

Flags: Read

Allowed values: >= 0

Default value: 0

### The `“display-width”` property

      “display-width”            gint

Width of the display surface in pixels.

Flags: Read

Allowed values: >= 0

Default value: 0

### The `“render-rectangle”` property

      “render-rectangle”         GstValueArray

The render rectangle ('<x, y, width, height>').

Flags: Write

### The `“connector-properties”` property

      “connector-properties”     GstStructure *

Additionnal properties for the connector.

Flags: Read / Write

### The `“plane-properties”` property

      “plane-properties”         GstStructure *

Additionnal properties for the plane.

Flags: Read / Write

### The `“restore-crtc”` property

      “restore-crtc”             gboolean

When enabled and CRTC was set with a new mode, previous CRTC mode willbe restored when going to NULL state.

Flags: Read / Write / Construct

Default value: TRUE