1.. Permission is granted to copy, distribute and/or modify this
2.. document under the terms of the GNU Free Documentation License,
3.. Version 1.1 or any later version published by the Free Software
4.. Foundation, with no Invariant Sections, no Front-Cover Texts
5.. and no Back-Cover Texts. A copy of the license is included at
6.. Documentation/userspace-api/media/fdl-appendix.rst.
7..
8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
10.. _common:
11
12###################
13Common API Elements
14###################
15Programming a V4L2 device consists of these steps:
16
17-  Opening the device
18
19-  Changing device properties, selecting a video and audio input, video
20   standard, picture brightness a. o.
21
22-  Negotiating a data format
23
24-  Negotiating an input/output method
25
26-  The actual input/output loop
27
28-  Closing the device
29
30In practice most steps are optional and can be executed out of order. It
31depends on the V4L2 device type, you can read about the details in
32:ref:`devices`. In this chapter we will discuss the basic concepts
33applicable to all devices.
34
35
36.. toctree::
37    :maxdepth: 1
38
39    open
40    querycap
41    app-pri
42    video
43    audio
44    tuner
45    standard
46    dv-timings
47    control
48    extended-controls
49    ext-ctrls-camera
50    ext-ctrls-flash
51    ext-ctrls-image-source
52    ext-ctrls-image-process
53    ext-ctrls-codec
54    ext-ctrls-jpeg
55    ext-ctrls-dv
56    ext-ctrls-rf-tuner
57    ext-ctrls-fm-tx
58    ext-ctrls-fm-rx
59    ext-ctrls-detect
60    fourcc
61    format
62    planar-apis
63    selection-api
64    crop
65    streaming-par
66