1 .. -*- coding: utf-8; mode: rst -*-
3 .. include:: <isonum.txt>
5 ##############################
6 Linux Media Infrastructure API
7 ##############################
9 **Copyright** |copy| 2009-2016 : LinuxTV Developers
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
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.
27 A typical media device hardware is shown at
28 :ref:`typical_media_device`.
31 .. _typical_media_device:
33 .. figure:: media_api_files/typical_media_device.*
34 :alt: typical_media_device.svg
39 The media infrastructure API was designed to control such devices. It is
40 divided into five parts.
42 The :ref:`first part <v4l2spec>` covers radio, video capture and output,
43 cameras, analog TV devices and codecs.
45 The :ref:`second part <dvbapi>` covers the API used for digital TV and
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`.
52 The :ref:`third part <remote_controllers>` covers the Remote Controller API.
54 The :ref:`fourth part <media_controller>` covers the Media Controller API.
56 The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.
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.
62 For additional information and for the latest development code, see:
63 `https://linuxtv.org <https://linuxtv.org>`__.
65 For discussing improvements, reporting troubles, sending new drivers,
67 `Linux Media Mailing List (LMML). <http://vger.kernel.org/vger-lists.html#linux-media>`__.
75 uapi/rc/remote_controllers
76 uapi/mediactl/media-controller