.. -*- coding: utf-8; mode: rst -*-

.. _media-controller-types:

Types and flags used to represent the media graph elements
==========================================================


.. _media-entity-type:

.. flat-table:: Media entity types
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  ``MEDIA_ENT_F_UNKNOWN`` and ``MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN``

       -  Unknown entity. That generally indicates that a driver didn't
	  initialize properly the entity, with is a Kernel bug

    -  .. row 2

       -  ``MEDIA_ENT_F_IO_V4L``

       -  Data streaming input and/or output entity.

    -  .. row 3

       -  ``MEDIA_ENT_F_IO_VBI``

       -  V4L VBI streaming input or output entity

    -  .. row 4

       -  ``MEDIA_ENT_F_IO_SWRADIO``

       -  V4L Software Digital Radio (SDR) streaming input or output entity

    -  .. row 5

       -  ``MEDIA_ENT_F_IO_DTV``

       -  DVB Digital TV streaming input or output entity

    -  .. row 6

       -  ``MEDIA_ENT_F_DTV_DEMOD``

       -  Digital TV demodulator entity.

    -  .. row 7

       -  ``MEDIA_ENT_F_TS_DEMUX``

       -  MPEG Transport stream demux entity. Could be implemented on
	  hardware or in Kernelspace by the Linux DVB subsystem.

    -  .. row 8

       -  ``MEDIA_ENT_F_DTV_CA``

       -  Digital TV Conditional Access module (CAM) entity

    -  .. row 9

       -  ``MEDIA_ENT_F_DTV_NET_DECAP``

       -  Digital TV network ULE/MLE desencapsulation entity. Could be
	  implemented on hardware or in Kernelspace

    -  .. row 10

       -  ``MEDIA_ENT_F_CONN_RF``

       -  Connector for a Radio Frequency (RF) signal.

    -  .. row 11

       -  ``MEDIA_ENT_F_CONN_SVIDEO``

       -  Connector for a S-Video signal.

    -  .. row 12

       -  ``MEDIA_ENT_F_CONN_COMPOSITE``

       -  Connector for a RGB composite signal.

    -  .. row 13

       -  ``MEDIA_ENT_F_CAM_SENSOR``

       -  Camera video sensor entity.

    -  .. row 14

       -  ``MEDIA_ENT_F_FLASH``

       -  Flash controller entity.

    -  .. row 15

       -  ``MEDIA_ENT_F_LENS``

       -  Lens controller entity.

    -  .. row 16

       -  ``MEDIA_ENT_F_ATV_DECODER``

       -  Analog video decoder, the basic function of the video decoder is
	  to accept analogue video from a wide variety of sources such as
	  broadcast, DVD players, cameras and video cassette recorders, in
	  either NTSC, PAL, SECAM or HD format, separating the stream into
	  its component parts, luminance and chrominance, and output it in
	  some digital video standard, with appropriate timing signals.

    -  .. row 17

       -  ``MEDIA_ENT_F_TUNER``

       -  Digital TV, analog TV, radio and/or software radio tuner, with
	  consists on a PLL tuning stage that converts radio frequency (RF)
	  signal into an Intermediate Frequency (IF). Modern tuners have
	  internally IF-PLL decoders for audio and video, but older models
	  have those stages implemented on separate entities.

    -  .. row 18

       -  ``MEDIA_ENT_F_IF_VID_DECODER``

       -  IF-PLL video decoder. It receives the IF from a PLL and decodes
	  the analog TV video signal. This is commonly found on some very
	  old analog tuners, like Philips MK3 designs. They all contain a
	  tda9887 (or some software compatible similar chip, like tda9885).
	  Those devices use a different I2C address than the tuner PLL.

    -  .. row 19

       -  ``MEDIA_ENT_F_IF_AUD_DECODER``

       -  IF-PLL sound decoder. It receives the IF from a PLL and decodes
	  the analog TV audio signal. This is commonly found on some very
	  old analog hardware, like Micronas msp3400, Philips tda9840,
	  tda985x, etc. Those devices use a different I2C address than the
	  tuner PLL and should be controlled together with the IF-PLL video
	  decoder.

    -  .. row 20

       -  ``MEDIA_ENT_F_AUDIO_CAPTURE``

       -  Audio Capture Function Entity.

    -  .. row 21

       -  ``MEDIA_ENT_F_AUDIO_PLAYBACK``

       -  Audio Playback Function Entity.

    -  .. row 22

       -  ``MEDIA_ENT_F_AUDIO_MIXER``

       -  Audio Mixer Function Entity.



.. _media-entity-flag:

.. flat-table:: Media entity flags
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  ``MEDIA_ENT_FL_DEFAULT``

       -  Default entity for its type. Used to discover the default audio,
	  VBI and video devices, the default camera sensor, ...

    -  .. row 2

       -  ``MEDIA_ENT_FL_CONNECTOR``

       -  The entity represents a data conector



.. _media-intf-type:

.. flat-table:: Media interface types
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  ``MEDIA_INTF_T_DVB_FE``

       -  Device node interface for the Digital TV frontend

       -  typically, /dev/dvb/adapter?/frontend?

    -  .. row 2

       -  ``MEDIA_INTF_T_DVB_DEMUX``

       -  Device node interface for the Digital TV demux

       -  typically, /dev/dvb/adapter?/demux?

    -  .. row 3

       -  ``MEDIA_INTF_T_DVB_DVR``

       -  Device node interface for the Digital TV DVR

       -  typically, /dev/dvb/adapter?/dvr?

    -  .. row 4

       -  ``MEDIA_INTF_T_DVB_CA``

       -  Device node interface for the Digital TV Conditional Access

       -  typically, /dev/dvb/adapter?/ca?

    -  .. row 5

       -  ``MEDIA_INTF_T_DVB_FE``

       -  Device node interface for the Digital TV network control

       -  typically, /dev/dvb/adapter?/net?

    -  .. row 6

       -  ``MEDIA_INTF_T_V4L_VIDEO``

       -  Device node interface for video (V4L)

       -  typically, /dev/video?

    -  .. row 7

       -  ``MEDIA_INTF_T_V4L_VBI``

       -  Device node interface for VBI (V4L)

       -  typically, /dev/vbi?

    -  .. row 8

       -  ``MEDIA_INTF_T_V4L_RADIO``

       -  Device node interface for radio (V4L)

       -  typically, /dev/vbi?

    -  .. row 9

       -  ``MEDIA_INTF_T_V4L_SUBDEV``

       -  Device node interface for a V4L subdevice

       -  typically, /dev/v4l-subdev?

    -  .. row 10

       -  ``MEDIA_INTF_T_V4L_SWRADIO``

       -  Device node interface for Software Defined Radio (V4L)

       -  typically, /dev/swradio?

    -  .. row 11

       -  ``MEDIA_INTF_T_ALSA_PCM_CAPTURE``

       -  Device node interface for ALSA PCM Capture

       -  typically, /dev/snd/pcmC?D?c

    -  .. row 12

       -  ``MEDIA_INTF_T_ALSA_PCM_PLAYBACK``

       -  Device node interface for ALSA PCM Playback

       -  typically, /dev/snd/pcmC?D?p

    -  .. row 13

       -  ``MEDIA_INTF_T_ALSA_CONTROL``

       -  Device node interface for ALSA Control

       -  typically, /dev/snd/controlC?

    -  .. row 14

       -  ``MEDIA_INTF_T_ALSA_COMPRESS``

       -  Device node interface for ALSA Compress

       -  typically, /dev/snd/compr?

    -  .. row 15

       -  ``MEDIA_INTF_T_ALSA_RAWMIDI``

       -  Device node interface for ALSA Raw MIDI

       -  typically, /dev/snd/midi?

    -  .. row 16

       -  ``MEDIA_INTF_T_ALSA_HWDEP``

       -  Device node interface for ALSA Hardware Dependent

       -  typically, /dev/snd/hwC?D?

    -  .. row 17

       -  ``MEDIA_INTF_T_ALSA_SEQUENCER``

       -  Device node interface for ALSA Sequencer

       -  typically, /dev/snd/seq

    -  .. row 18

       -  ``MEDIA_INTF_T_ALSA_TIMER``

       -  Device node interface for ALSA Timer

       -  typically, /dev/snd/timer



.. _media-pad-flag:

.. flat-table:: Media pad flags
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  ``MEDIA_PAD_FL_SINK``

       -  Input pad, relative to the entity. Input pads sink data and are
	  targets of links.

    -  .. row 2

       -  ``MEDIA_PAD_FL_SOURCE``

       -  Output pad, relative to the entity. Output pads source data and
	  are origins of links.

    -  .. row 3

       -  ``MEDIA_PAD_FL_MUST_CONNECT``

       -  If this flag is set and the pad is linked to any other pad, then
	  at least one of those links must be enabled for the entity to be
	  able to stream. There could be temporary reasons (e.g. device
	  configuration dependent) for the pad to need enabled links even
	  when this flag isn't set; the absence of the flag doesn't imply
	  there is none.


One and only one of ``MEDIA_PAD_FL_SINK`` and ``MEDIA_PAD_FL_SOURCE``
must be set for every pad.


.. _media-link-flag:

.. flat-table:: Media link flags
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  ``MEDIA_LNK_FL_ENABLED``

       -  The link is enabled and can be used to transfer media data. When
	  two or more links target a sink pad, only one of them can be
	  enabled at a time.

    -  .. row 2

       -  ``MEDIA_LNK_FL_IMMUTABLE``

       -  The link enabled state can't be modified at runtime. An immutable
	  link is always enabled.

    -  .. row 3

       -  ``MEDIA_LNK_FL_DYNAMIC``

       -  The link enabled state can be modified during streaming. This flag
	  is set by drivers and is read-only for applications.

    -  .. row 4

       -  ``MEDIA_LNK_FL_LINK_TYPE``

       -  This is a bitmask that defines the type of the link. Currently,
	  two types of links are supported:

	  ``MEDIA_LNK_FL_DATA_LINK`` if the link is between two pads

	  ``MEDIA_LNK_FL_INTERFACE_LINK`` if the link is between an
	  interface and an entity
