1.. -*- coding: utf-8; mode: rst -*-
2
3.. _VIDIOC_G_OUTPUT:
4
5**************************************
6ioctl VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT
7**************************************
8
9Name
10====
11
12VIDIOC_G_OUTPUT - VIDIOC_S_OUTPUT - Query or select the current video output
13
14
15Synopsis
16========
17
18.. c:function:: int ioctl( int fd, VIDIOC_G_OUTPUT, int *argp )
19    :name: VIDIOC_G_OUTPUT
20
21.. c:function:: int ioctl( int fd, VIDIOC_S_OUTPUT, int *argp )
22    :name: VIDIOC_S_OUTPUT
23
24
25Arguments
26=========
27
28``fd``
29    File descriptor returned by :ref:`open() <func-open>`.
30
31``argp``
32    Pointer to an integer with output index.
33
34
35Description
36===========
37
38To query the current video output applications call the
39:ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a pointer to an integer where the driver
40stores the number of the output, as in the struct
41:c:type:`v4l2_output` ``index`` field. This ioctl will
42fail only when there are no video outputs, returning the ``EINVAL`` error
43code.
44
45To select a video output applications store the number of the desired
46output in an integer and call the :ref:`VIDIOC_S_OUTPUT <VIDIOC_G_OUTPUT>` ioctl with a
47pointer to this integer. Side effects are possible. For example outputs
48may support different video standards, so the driver may implicitly
49switch the current standard. standard. Because of these possible side
50effects applications must select an output before querying or
51negotiating any other parameters.
52
53Information about video outputs is available using the
54:ref:`VIDIOC_ENUMOUTPUT` ioctl.
55
56
57Return Value
58============
59
60On success 0 is returned, on error -1 and the ``errno`` variable is set
61appropriately. The generic error codes are described at the
62:ref:`Generic Error Codes <gen-errors>` chapter.
63
64EINVAL
65    The number of the video output is out of bounds, or there are no
66    video outputs at all.
67