## v4l2sink v4l2sink |

## Properties

gchar * | device | Read / Write
gint | device-fd | Read
gchar * | device-name | Read
GstV4l2DeviceTypeFlags | flags | Read
guint | overlay-height | Read / Write
gint | overlay-left | Read / Write
gint | overlay-top | Read / Write
guint | overlay-width | Read / Write
gint | brightness | Read / Write
gint | contrast | Read / Write
gint | hue | Read / Write
gint | saturation | Read / Write
guint | crop-height | Read / Write
gint | crop-left | Read / Write
gint | crop-top | Read / Write
guint | crop-width | Read / Write
GstV4l2IOMode | io-mode | Read / Write
V4L2_TV_norms | norm | Read / Write
GstStructure * | extra-controls | Read / Write
gboolean | force-aspect-ratio | Read / Write
gchar * | pixel-aspect-ratio | Read / Write

## Types and Values

struct | GstV4l2Sink

## Object Hierarchy

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

## Implemented Interfaces

GstV4l2Sink implements GstTuner, GstVideoOverlay, GstNavigation, GstColorBalance and GstVideoOrientation.

## Description

v4l2sink can be used to display video to v4l2 devices (screen overlays provided by the graphics hardware, tv-out, etc)

### Example launch lines

    1
    gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/video1

This pipeline displays a test pattern on /dev/video1

    1
    gst-launch-1.0 -v videotestsrc ! navigationtest ! v4l2sink

A pipeline to test navigation events. While moving the mouse pointer over the test signal you will see a black box following the mouse pointer. If you press the mouse button somewhere on the video and release it somewhere else a green box will appear where you pressed the button and a red one where you released it. (The navigationtest element is part of gst-plugins-good.) You can observe here that even if the images are scaled through hardware the pointer coordinates are converted back to the original video frame geometry so that the box can be drawn to the correct position. This also handles borders correctly, limiting coordinates to the image area

## Synopsis

### Element Information

plugin | video4linux2
author | Rob Clark <rob@ti.com>,
class | Sink/Video

### Element Pads

name | sink
direction | sink
presence | always
details | image/jpeg
| video/mpeg, mpegversion=(int)4, systemstream=(boolean)false
| video/mpeg, mpegversion=(int){ 1, 2 }
| video/mpegts, systemstream=(boolean)true
| video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-dv, systemstream=(boolean)true
| video/x-fwht
| video/x-h263, variant=(string)itu
| video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au
| video/x-h265, stream-format=(string)byte-stream, alignment=(string)au
| video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw, format=(string){ RGB16, BGR, RGB, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, BGRA, BGRx, ARGB, xRGB, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-vp8
| video/x-vp9
| video/x-wmv, wmvversion=(int)3, format=(string)WVC1

## Functions

## Types and Values

### struct GstV4l2Sink

    struct GstV4l2Sink;

## Property Details

### The `“device”` property

      “device”                   gchar *

Device location.

Flags: Read / Write

Default value: "/dev/video1"

### The `“device-fd”` property

      “device-fd”                gint

File descriptor of the device.

Flags: Read

Allowed values: >= G_MAXULONG

Default value: -1

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

      “device-name”              gchar *

Name of the device.

Flags: Read

Default value: NULL

### The `“flags”` property

      “flags”                    GstV4l2DeviceTypeFlags

Device type flags.

Flags: Read

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

      “overlay-height”           guint

The height of the video overlay; default is equal to negotiated image height.

Flags: Read / Write

Default value: 0

### The `“overlay-left”` property

      “overlay-left”             gint

The leftmost (x) coordinate of the video overlay; top left corner of screen is 0,0.

Flags: Read / Write

Default value: 0

### The `“overlay-top”` property

      “overlay-top”              gint

The topmost (y) coordinate of the video overlay; top left corner of screen is 0,0.

Flags: Read / Write

Default value: 0

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

      “overlay-width”            guint

The width of the video overlay; default is equal to negotiated image width.

Flags: Read / Write

Default value: 0

### The `“brightness”` property

      “brightness”               gint

Picture brightness, or more precisely, the black level.

Flags: Read / Write

Default value: 0

### The `“contrast”` property

      “contrast”                 gint

Picture contrast or luma gain.

Flags: Read / Write

Default value: 0

### The `“hue”` property

      “hue”                      gint

Hue or color balance.

Flags: Read / Write

Default value: 0

### The `“saturation”` property

      “saturation”               gint

Picture color saturation or chroma gain.

Flags: Read / Write

Default value: 0

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

      “crop-height”              guint

The height of the video crop; default is equal to negotiated image height.

Flags: Read / Write

Default value: 0

### The `“crop-left”` property

      “crop-left”                gint

The leftmost (x) coordinate of the video crop; top left corner of image is 0,0.

Flags: Read / Write

Default value: 0

### The `“crop-top”` property

      “crop-top”                 gint

The topmost (y) coordinate of the video crop; top left corner of image is 0,0.

Flags: Read / Write

Default value: 0

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

      “crop-width”               guint

The width of the video crop; default is equal to negotiated image width.

Flags: Read / Write

Default value: 0

### The `“io-mode”` property

      “io-mode”                  GstV4l2IOMode

I/O mode.

Flags: Read / Write

Default value: GST_V4L2_IO_AUTO

### The `“norm”` property

      “norm”                     V4L2_TV_norms

video standard.

Flags: Read / Write

Default value: none

### The `“extra-controls”` property

      “extra-controls”           GstStructure *

Extra v4l2 controls (CIDs) for the device.

Flags: Read / Write

### The `“force-aspect-ratio”` property

      “force-aspect-ratio”       gboolean

When enabled, the pixel aspect ratio will be enforced.

Flags: Read / Write

Default value: TRUE

### The `“pixel-aspect-ratio”` property

      “pixel-aspect-ratio”       gchar *

Overwrite the pixel aspect ratio of the device.

Flags: Read / Write

Default value: "1/1"