1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun============ 4*4882a593SmuzhiyunIntroduction 5*4882a593Smuzhiyun============ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunThis document covers the Linux Kernel to Userspace API's used by video 8*4882a593Smuzhiyunand radio streaming devices, including video cameras, analog and digital 9*4882a593SmuzhiyunTV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR), 10*4882a593Smuzhiyunstreaming capture and output devices, codec devices and remote controllers. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunA typical media device hardware is shown at :ref:`typical_media_device`. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun.. _typical_media_device: 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun.. kernel-figure:: typical_media_device.svg 17*4882a593Smuzhiyun :alt: typical_media_device.svg 18*4882a593Smuzhiyun :align: center 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Typical Media Device 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunThe media infrastructure API was designed to control such devices. It is 23*4882a593Smuzhiyundivided into five parts. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun1. The :ref:`first part <v4l2spec>` covers radio, video capture and output, 26*4882a593Smuzhiyun cameras, analog TV devices and codecs. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun2. The :ref:`second part <dvbapi>` covers the API used for digital TV and 29*4882a593Smuzhiyun Internet reception via one of the several digital tv standards. While it is 30*4882a593Smuzhiyun called as DVB API, in fact it covers several different video standards 31*4882a593Smuzhiyun including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S, DTMB, etc. The 32*4882a593Smuzhiyun complete list of supported standards can be found at 33*4882a593Smuzhiyun :c:type:`fe_delivery_system`. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun3. The :ref:`third part <remote_controllers>` covers the Remote Controller API. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun4. The :ref:`fourth part <media_controller>` covers the Media Controller API. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun5. The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API. 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunIt should also be noted that a media device may also have audio components, like 42*4882a593Smuzhiyunmixers, PCM capture, PCM playback, etc, which are controlled via ALSA API. For 43*4882a593Smuzhiyunadditional information and for the latest development code, see: 44*4882a593Smuzhiyun`https://linuxtv.org <https://linuxtv.org>`__. For discussing improvements, 45*4882a593Smuzhiyunreporting troubles, sending new drivers, etc, please mail to: `Linux Media 46*4882a593SmuzhiyunMailing List (LMML) <http://vger.kernel.org/vger-lists.html#linux-media>`__. 47