doc-rst: linux_tv: don't simplify VIDIOC_G_foo references
[deliverable/linux.git] / Documentation / linux_tv / media / v4l / video.rst
CommitLineData
5377d91f
MH
1.. -*- coding: utf-8; mode: rst -*-
2
3.. _video:
4
5************************
6Video Inputs and Outputs
7************************
8
9Video inputs and outputs are physical connectors of a device. These can
10be for example RF connectors (antenna/cable), CVBS a.k.a. Composite
11Video, S-Video or RGB connectors. Video and VBI capture devices have
12inputs. Video and VBI output devices have outputs, at least one each.
13Radio devices have no video inputs or outputs.
14
15To learn about the number and attributes of the available inputs and
16outputs applications can enumerate them with the
7347081e
MCC
17:ref:`VIDIOC_ENUMINPUT` and
18:ref:`VIDIOC_ENUMOUTPUT` ioctl, respectively. The
5377d91f 19struct :ref:`v4l2_input <v4l2-input>` returned by the
7347081e 20:ref:`VIDIOC_ENUMINPUT` ioctl also contains signal
234d5496 21:status information applicable when the current video input is queried.
5377d91f 22
4e03cb76
MCC
23The :ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` and
24:ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` ioctls return the index of
5377d91f 25the current video input or output. To select a different input or output
af4a4d0d
MCC
26applications call the :ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>` and
27:ref:`VIDIOC_S_OUTPUT <VIDIOC_G_OUTPUT>` ioctls. Drivers must
5377d91f
MH
28implement all the input ioctls when the device has one or more inputs,
29all the output ioctls when the device has one or more outputs.
30
5377d91f 31.. code-block:: c
013504f5 32 :caption: Example 1: Information about the current video input
5377d91f
MH
33
34 struct v4l2_input input;
35 int index;
36
37 if (-1 == ioctl(fd, VIDIOC_G_INPUT, &index)) {
38 perror("VIDIOC_G_INPUT");
39 exit(EXIT_FAILURE);
40 }
41
42 memset(&input, 0, sizeof(input));
43 input.index = index;
44
45 if (-1 == ioctl(fd, VIDIOC_ENUMINPUT, &input)) {
46 perror("VIDIOC_ENUMINPUT");
47 exit(EXIT_FAILURE);
48 }
49
50 printf("Current input: %s\\n", input.name);
51
52
53.. code-block:: c
013504f5 54 :caption: Example 2: Switching to the first video input
5377d91f
MH
55
56 int index;
57
58 index = 0;
59
60 if (-1 == ioctl(fd, VIDIOC_S_INPUT, &index)) {
61 perror("VIDIOC_S_INPUT");
62 exit(EXIT_FAILURE);
63 }
64
65
66
67
68.. ------------------------------------------------------------------------------
69.. This file was automatically converted from DocBook-XML with the dbxml
70.. library (https://github.com/return42/sphkerneldoc). The origin XML comes
71.. from the linux kernel, refer to:
72..
73.. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook
74.. ------------------------------------------------------------------------------
This page took 0.028271 seconds and 5 git commands to generate.