Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
40f7bc9b MCC |
3 | .. include:: <isonum.txt> |
4 | ||
5377d91f | 5 | ############################## |
39ab6323 | 6 | Linux Media Infrastructure API |
5377d91f MH |
7 | ############################## |
8 | ||
40f7bc9b | 9 | **Copyright** |copy| 2009-2016 : LinuxTV Developers |
5377d91f MH |
10 | |
11 | Permission is granted to copy, distribute and/or modify this document | |
12 | under the terms of the GNU Free Documentation License, Version 1.1 or | |
13 | any later version published by the Free Software Foundation. A copy of | |
14 | the license is included in the chapter entitled "GNU Free Documentation | |
72f5a661 | 15 | License". |
5377d91f MH |
16 | |
17 | ||
18 | ============ | |
19 | Introduction | |
20 | ============ | |
21 | ||
22 | This document covers the Linux Kernel to Userspace API's used by video | |
23 | and radio streaming devices, including video cameras, analog and digital | |
72f5a661 MCC |
24 | TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR), |
25 | streaming capture and output devices, codec devices and remote controllers. | |
5377d91f MH |
26 | |
27 | A typical media device hardware is shown at | |
28 | :ref:`typical_media_device`. | |
29 | ||
30 | ||
31 | .. _typical_media_device: | |
32 | ||
33 | .. figure:: media_api_files/typical_media_device.* | |
34 | :alt: typical_media_device.svg | |
35 | :align: center | |
36 | ||
37 | Typical Media Device | |
38 | ||
5377d91f | 39 | The media infrastructure API was designed to control such devices. It is |
e2460b1d | 40 | divided into five parts. |
5377d91f | 41 | |
e2460b1d | 42 | The :ref:`first part <v4l2spec>` covers radio, video capture and output, |
72f5a661 | 43 | cameras, analog TV devices and codecs. |
5377d91f | 44 | |
e2460b1d | 45 | The :ref:`second part <dvbapi>` covers the API used for digital TV and |
766e137d MCC |
46 | Internet reception via one of the several digital tv standards. While it |
47 | is called as DVB API, in fact it covers several different video | |
48 | standards including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, | |
49 | DTMB, etc. The complete list of supported standards can be found at | |
5377d91f MH |
50 | :ref:`fe-delivery-system-t`. |
51 | ||
e2460b1d | 52 | The :ref:`third part <remote_controllers>` covers the Remote Controller API. |
5377d91f | 53 | |
e2460b1d MH |
54 | The :ref:`fourth part <media_controller>` covers the Media Controller API. |
55 | ||
56 | The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API. | |
5377d91f MH |
57 | |
58 | It should also be noted that a media device may also have audio | |
59 | components, like mixers, PCM capture, PCM playback, etc, which are | |
60 | controlled via ALSA API. | |
61 | ||
62 | For additional information and for the latest development code, see: | |
63 | `https://linuxtv.org <https://linuxtv.org>`__. | |
64 | ||
65 | For discussing improvements, reporting troubles, sending new drivers, | |
66 | etc, please mail to: | |
67 | `Linux Media Mailing List (LMML). <http://vger.kernel.org/vger-lists.html#linux-media>`__. | |
68 | ||
69 | ||
70 | .. toctree:: | |
71 | :maxdepth: 1 | |
72 | ||
60c2820d MCC |
73 | uapi/v4l/v4l2 |
74 | uapi/dvb/dvbapi | |
75 | uapi/rc/remote_controllers | |
76 | uapi/mediactl/media-controller | |
e2460b1d | 77 | uapi/cec/cec-api |
60c2820d MCC |
78 | uapi/gen-errors |
79 | uapi/fdl-appendix | |
5377d91f | 80 | |
5377d91f MH |
81 | .. only:: html |
82 | ||
83 | Retrieval | |
84 | ========= | |
85 | ||
86 | * :ref:`genindex` |