.. SPDX-License-Identifier: GPL-2.0

.. include:: <isonum.txt>

########################################
Linux Media Infrastructure userspace API
########################################

This section contains the  driver development information and Kernel APIs
used by media devices.

Please see:

Documentation/admin-guide/media/index.rst

  - for usage information about media subsystem and supported drivers;

Documentation/driver-api/media/index.rst

  - for driver development information and Kernel APIs used by
    media devices;


.. only:: html

   .. class:: toc-title

        Table of Contents

.. toctree::
    :maxdepth: 1

    intro
    v4l/v4l2
    dvb/dvbapi
    rc/remote_controllers
    mediactl/media-controller
    cec/cec-api
    gen-errors

    glossary

    fdl-appendix

    drivers/index

**Copyright** |copy| 2009-2020 : LinuxTV Developers

::

  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, with no
  Invariant Sections. A copy of the license is included in the chapter
  entitled "GNU Free Documentation License".

Please notice that some documents inside the media userspace API,
when explicitly mentioned on its source code, are dual-licensed
with GNU Free Documentation License  Version 1.1 and with the
GNU General Public License::

  This documentation is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the Free
  Software Foundation; either version 2 of the License, or (at your option) any
  later version.

  This program is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  more details.

  For more details see the file COPYING in the source distribution of Linux.
