Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 1 | .. -*- coding: utf-8; mode: rst -*- |
| 2 | |
| 3 | .. include:: <isonum.txt> |
| 4 | |
| 5 | ############################## |
| 6 | Linux Media Infrastructure API |
| 7 | ############################## |
| 8 | |
| 9 | **Copyright** |copy| 2009-2016 : LinuxTV Developers |
| 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 |
| 15 | License". |
| 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 |
| 24 | TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR), |
| 25 | streaming capture and output devices, codec devices and remote controllers. |
| 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 | |
| 39 | The media infrastructure API was designed to control such devices. It is |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 40 | divided into five parts. |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 41 | |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 42 | The :ref:`first part <v4l2spec>` covers radio, video capture and output, |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 43 | cameras, analog TV devices and codecs. |
| 44 | |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 45 | The :ref:`second part <dvbapi>` covers the API used for digital TV and |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 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 |
| 50 | :ref:`fe-delivery-system-t`. |
| 51 | |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 52 | The :ref:`third part <remote_controllers>` covers the Remote Controller API. |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 53 | |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 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. |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 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 | |
| 73 | uapi/v4l/v4l2 |
| 74 | uapi/dvb/dvbapi |
| 75 | uapi/rc/remote_controllers |
| 76 | uapi/mediactl/media-controller |
Markus Heiser | e2460b1 | 2016-07-08 20:55:42 +0200 | [diff] [blame^] | 77 | uapi/cec/cec-api |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 78 | uapi/gen-errors |
| 79 | uapi/fdl-appendix |
| 80 | |
| 81 | .. only:: html |
| 82 | |
| 83 | Retrieval |
| 84 | ========= |
| 85 | |
| 86 | * :ref:`genindex` |