treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / media / intro.rst
blob4a6bd665b88488ae4543c421cc690294dc3c6b57
1 .. SPDX-License-Identifier: GPL-2.0
3 ============
4 Introduction
5 ============
7 This document covers the Linux Kernel to Userspace API's used by video
8 and radio streaming devices, including video cameras, analog and digital
9 TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR),
10 streaming capture and output devices, codec devices and remote controllers.
12 A typical media device hardware is shown at :ref:`typical_media_device`.
14 .. _typical_media_device:
16 .. kernel-figure:: typical_media_device.svg
17     :alt:   typical_media_device.svg
18     :align: center
20     Typical Media Device
22 The media infrastructure API was designed to control such devices. It is
23 divided into five parts.
25 1. The :ref:`first part <v4l2spec>` covers radio, video capture and output,
26    cameras, analog TV devices and codecs.
28 2. 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
33    :c:type:`fe_delivery_system`.
35 3. The :ref:`third part <remote_controllers>` covers the Remote Controller API.
37 4. The :ref:`fourth part <media_controller>` covers the Media Controller API.
39 5. The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.
41 It should also be noted that a media device may also have audio components, like
42 mixers, PCM capture, PCM playback, etc, which are controlled via ALSA API.  For
43 additional information and for the latest development code, see:
44 `https://linuxtv.org <https://linuxtv.org>`__.  For discussing improvements,
45 reporting troubles, sending new drivers, etc, please mail to: `Linux Media
46 Mailing List (LMML) <http://vger.kernel.org/vger-lists.html#linux-media>`__.