[media] docs-rst: better use the .. note:: tag
[cascardo/linux.git] / Documentation / media / uapi / v4l / vidioc-querystd.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDIOC_QUERYSTD:
4
5 *********************
6 ioctl VIDIOC_QUERYSTD
7 *********************
8
9 Name
10 ====
11
12 VIDIOC_QUERYSTD - Sense the video standard received by the current input
13
14
15 Synopsis
16 ========
17
18 .. cpp:function:: int ioctl( int fd, int request, v4l2_std_id *argp )
19
20
21 Arguments
22 =========
23
24 ``fd``
25     File descriptor returned by :ref:`open() <func-open>`.
26
27 ``request``
28     VIDIOC_QUERYSTD
29
30 ``argp``
31
32
33 Description
34 ===========
35
36 The hardware may be able to detect the current video standard
37 automatically. To do so, applications call :ref:`VIDIOC_QUERYSTD` with a
38 pointer to a :ref:`v4l2_std_id <v4l2-std-id>` type. The driver
39 stores here a set of candidates, this can be a single flag or a set of
40 supported standards if for example the hardware can only distinguish
41 between 50 and 60 Hz systems. If no signal was detected, then the driver
42 will return V4L2_STD_UNKNOWN. When detection is not possible or fails,
43 the set must contain all standards supported by the current video input
44 or output.
45
46 .. note::
47
48    Drivers shall *not* switch the video standard
49    automatically if a new video standard is detected. Instead, drivers
50    should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support
51    this) and expect that userspace will take action by calling
52    :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean
53    different buffer sizes as well, and you cannot change buffer sizes on
54    the fly. In general, applications that receive the Source Change event
55    will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video
56    standard is valid they will have to stop streaming, set the new
57    standard, allocate new buffers and start streaming again.
58
59
60 Return Value
61 ============
62
63 On success 0 is returned, on error -1 and the ``errno`` variable is set
64 appropriately. The generic error codes are described at the
65 :ref:`Generic Error Codes <gen-errors>` chapter.
66
67 ENODATA
68     Standard video timings are not supported for this input or output.