xref: /linux/Documentation/userspace-api/media/v4l/vidioc-g-input.rst (revision 0526b56cbc3c489642bd6a5fe4b718dea7ef0ee8)
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2.. c:namespace:: V4L
3
4.. _VIDIOC_G_INPUT:
5
6************************************
7ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT
8************************************
9
10Name
11====
12
13VIDIOC_G_INPUT - VIDIOC_S_INPUT - Query or select the current video input
14
15Synopsis
16========
17
18.. c:macro:: VIDIOC_G_INPUT
19
20``int ioctl(int fd, VIDIOC_G_INPUT, int *argp)``
21
22.. c:macro:: VIDIOC_S_INPUT
23
24``int ioctl(int fd, VIDIOC_S_INPUT, int *argp)``
25
26Arguments
27=========
28
29``fd``
30    File descriptor returned by :c:func:`open()`.
31
32``argp``
33    Pointer an integer with input index.
34
35Description
36===========
37
38To query the current video input applications call the
39:ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` ioctl with a pointer to an integer where the driver
40stores the number of the input, as in the struct
41:c:type:`v4l2_input` ``index`` field. This ioctl will fail
42only when there are no video inputs, returning ``EINVAL``.
43
44To select a video input applications store the number of the desired
45input in an integer and call the :ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>` ioctl with a pointer
46to this integer. Side effects are possible. For example inputs may
47support different video standards, so the driver may implicitly switch
48the current standard. Because of these possible side effects
49applications must select an input before querying or negotiating any
50other parameters.
51
52Information about video inputs is available using the
53:ref:`VIDIOC_ENUMINPUT` ioctl.
54
55Return Value
56============
57
58On success 0 is returned, on error -1 and the ``errno`` variable is set
59appropriately. The generic error codes are described at the
60:ref:`Generic Error Codes <gen-errors>` chapter.
61
62EINVAL
63    The number of the video input is out of bounds.
64