blob: f6086c159772eeaa9f2dad78aa9e1631adab6faa [file] [log] [blame]
Markus Heiser6ec710e2016-07-09 12:06:26 -03001.. -*- coding: utf-8; mode: rst -*-
2
3============
4Introduction
5============
6
7This document covers the Linux Kernel to Userspace API's used by video
8and radio streaming devices, including video cameras, analog and digital
9TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR),
10streaming capture and output devices, codec devices and remote controllers.
11
12A typical media device hardware is shown at :ref:`typical_media_device`.
13
14.. _typical_media_device:
15
16.. figure:: media_api_files/typical_media_device.*
17 :alt: typical_media_device.svg
18 :align: center
19
20 Typical Media Device
21
22The media infrastructure API was designed to control such devices. It is
23divided into five parts.
24
251. The :ref:`first part <v4l2spec>` covers radio, video capture and output,
26 cameras, analog TV devices and codecs.
27
282. The :ref:`second part <dvbapi>` covers the API used for digital TV and
29 Internet reception via one of the several digital tv standards. While it is
30 called as DVB API, in fact it covers several different video standards
31 including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, DTMB, etc. The
32 complete list of supported standards can be found at
Mauro Carvalho Chehab836cf1d2016-08-30 10:21:03 -030033 :c:type:`fe_delivery_system`.
Markus Heiser6ec710e2016-07-09 12:06:26 -030034
353. The :ref:`third part <remote_controllers>` covers the Remote Controller API.
36
374. The :ref:`fourth part <media_controller>` covers the Media Controller API.
38
395. The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.
40
41It should also be noted that a media device may also have audio components, like
42mixers, PCM capture, PCM playback, etc, which are controlled via ALSA API. For
43additional information and for the latest development code, see:
44`https://linuxtv.org <https://linuxtv.org>`__. For discussing improvements,
45reporting troubles, sending new drivers, etc, please mail to: `Linux Media
46Mailing List (LMML) <http://vger.kernel.org/vger-lists.html#linux-media>`__.