2016-06-30 21:18:56 +08:00
|
|
|
.. -*- coding: utf-8; mode: rst -*-
|
|
|
|
|
2016-07-01 03:33:35 +08:00
|
|
|
.. include:: <isonum.txt>
|
|
|
|
|
2016-06-30 21:18:56 +08:00
|
|
|
##############################
|
2016-07-06 19:29:00 +08:00
|
|
|
Linux Media Infrastructure API
|
2016-06-30 21:18:56 +08:00
|
|
|
##############################
|
|
|
|
|
2016-07-01 03:33:35 +08:00
|
|
|
**Copyright** |copy| 2009-2016 : LinuxTV Developers
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or
|
|
|
|
any later version published by the Free Software Foundation. A copy of
|
|
|
|
the license is included in the chapter entitled "GNU Free Documentation
|
2016-07-01 04:12:20 +08:00
|
|
|
License".
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
============
|
|
|
|
Introduction
|
|
|
|
============
|
|
|
|
|
|
|
|
This document covers the Linux Kernel to Userspace API's used by video
|
|
|
|
and radio streaming devices, including video cameras, analog and digital
|
2016-07-01 04:12:20 +08:00
|
|
|
TV receiver cards, AM/FM receiver cards, Software Defined Radio (SDR),
|
|
|
|
streaming capture and output devices, codec devices and remote controllers.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
A typical media device hardware is shown at
|
|
|
|
:ref:`typical_media_device`.
|
|
|
|
|
|
|
|
|
|
|
|
.. _typical_media_device:
|
|
|
|
|
|
|
|
.. figure:: media_api_files/typical_media_device.*
|
|
|
|
:alt: typical_media_device.svg
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
Typical Media Device
|
|
|
|
|
|
|
|
The media infrastructure API was designed to control such devices. It is
|
2016-07-09 02:55:42 +08:00
|
|
|
divided into five parts.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-09 02:55:42 +08:00
|
|
|
The :ref:`first part <v4l2spec>` covers radio, video capture and output,
|
2016-07-01 04:12:20 +08:00
|
|
|
cameras, analog TV devices and codecs.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-09 02:55:42 +08:00
|
|
|
The :ref:`second part <dvbapi>` covers the API used for digital TV and
|
2016-07-01 08:52:52 +08:00
|
|
|
Internet reception via one of the several digital tv standards. While it
|
|
|
|
is called as DVB API, in fact it covers several different video
|
|
|
|
standards including DVB-T/T2, DVB-S/S2, DVB-C, ATSC, ISDB-T, ISDB-S,
|
|
|
|
DTMB, etc. The complete list of supported standards can be found at
|
2016-06-30 21:18:56 +08:00
|
|
|
:ref:`fe-delivery-system-t`.
|
|
|
|
|
2016-07-09 02:55:42 +08:00
|
|
|
The :ref:`third part <remote_controllers>` covers the Remote Controller API.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-09 02:55:42 +08:00
|
|
|
The :ref:`fourth part <media_controller>` covers the Media Controller API.
|
|
|
|
|
|
|
|
The :ref:`fifth part <cec>` covers the CEC (Consumer Electronics Control) API.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
It should also be noted that a media device may also have audio
|
|
|
|
components, like mixers, PCM capture, PCM playback, etc, which are
|
|
|
|
controlled via ALSA API.
|
|
|
|
|
|
|
|
For additional information and for the latest development code, see:
|
|
|
|
`https://linuxtv.org <https://linuxtv.org>`__.
|
|
|
|
|
|
|
|
For discussing improvements, reporting troubles, sending new drivers,
|
|
|
|
etc, please mail to:
|
|
|
|
`Linux Media Mailing List (LMML). <http://vger.kernel.org/vger-lists.html#linux-media>`__.
|
|
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
2016-07-08 22:40:06 +08:00
|
|
|
uapi/v4l/v4l2
|
|
|
|
uapi/dvb/dvbapi
|
|
|
|
uapi/rc/remote_controllers
|
|
|
|
uapi/mediactl/media-controller
|
2016-07-09 02:55:42 +08:00
|
|
|
uapi/cec/cec-api
|
2016-07-08 22:40:06 +08:00
|
|
|
uapi/gen-errors
|
|
|
|
uapi/fdl-appendix
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
.. only:: html
|
|
|
|
|
|
|
|
Retrieval
|
|
|
|
=========
|
|
|
|
|
|
|
|
* :ref:`genindex`
|