mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-06 12:44:14 +08:00
2212ff259f
There were lots of consts at the media docbook that should be, instead, references. Convert the ones that can easily be done by an automatic script. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
92 lines
3.7 KiB
ReStructuredText
92 lines
3.7 KiB
ReStructuredText
.. -*- coding: utf-8; mode: rst -*-
|
|
|
|
.. _tuner:
|
|
|
|
*********************
|
|
Tuners and Modulators
|
|
*********************
|
|
|
|
|
|
Tuners
|
|
======
|
|
|
|
Video input devices can have one or more tuners demodulating a RF
|
|
signal. Each tuner is associated with one or more video inputs,
|
|
depending on the number of RF connectors on the tuner. The ``type``
|
|
field of the respective struct :ref:`v4l2_input <v4l2-input>`
|
|
returned by the :ref:`VIDIOC_ENUMINPUT` ioctl is
|
|
set to ``V4L2_INPUT_TYPE_TUNER`` and its ``tuner`` field contains the
|
|
index number of the tuner.
|
|
|
|
Radio input devices have exactly one tuner with index zero, no video
|
|
inputs.
|
|
|
|
To query and change tuner properties applications use the
|
|
:ref:`VIDIOC_G_TUNER` and
|
|
:ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` ioctls, respectively. The
|
|
struct :ref:`v4l2_tuner <v4l2-tuner>` returned by :ref:`VIDIOC_G_TUNER`
|
|
also contains signal status information applicable when the tuner of the
|
|
current video or radio input is queried. Note that :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>`
|
|
does not switch the current tuner, when there is more than one at all.
|
|
The tuner is solely determined by the current video input. Drivers must
|
|
support both ioctls and set the ``V4L2_CAP_TUNER`` flag in the struct
|
|
:ref:`v4l2_capability <v4l2-capability>` returned by the
|
|
:ref:`VIDIOC_QUERYCAP` ioctl when the device has
|
|
one or more tuners.
|
|
|
|
|
|
Modulators
|
|
==========
|
|
|
|
Video output devices can have one or more modulators, uh, modulating a
|
|
video signal for radiation or connection to the antenna input of a TV
|
|
set or video recorder. Each modulator is associated with one or more
|
|
video outputs, depending on the number of RF connectors on the
|
|
modulator. The ``type`` field of the respective struct
|
|
:ref:`v4l2_output <v4l2-output>` returned by the
|
|
:ref:`VIDIOC_ENUMOUTPUT` ioctl is set to
|
|
``V4L2_OUTPUT_TYPE_MODULATOR`` and its ``modulator`` field contains the
|
|
index number of the modulator.
|
|
|
|
Radio output devices have exactly one modulator with index zero, no
|
|
video outputs.
|
|
|
|
A video or radio device cannot support both a tuner and a modulator. Two
|
|
separate device nodes will have to be used for such hardware, one that
|
|
supports the tuner functionality and one that supports the modulator
|
|
functionality. The reason is a limitation with the
|
|
:ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl where you
|
|
cannot specify whether the frequency is for a tuner or a modulator.
|
|
|
|
To query and change modulator properties applications use the
|
|
:ref:`VIDIOC_G_MODULATOR` and
|
|
:ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl. Note that
|
|
:ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` does not switch the current modulator, when there
|
|
is more than one at all. The modulator is solely determined by the
|
|
current video output. Drivers must support both ioctls and set the
|
|
``V4L2_CAP_MODULATOR`` flag in the struct
|
|
:ref:`v4l2_capability <v4l2-capability>` returned by the
|
|
:ref:`VIDIOC_QUERYCAP` ioctl when the device has
|
|
one or more modulators.
|
|
|
|
|
|
Radio Frequency
|
|
===============
|
|
|
|
To get and set the tuner or modulator radio frequency applications use
|
|
the :ref:`VIDIOC_G_FREQUENCY` and
|
|
:ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl which both take
|
|
a pointer to a struct :ref:`v4l2_frequency <v4l2-frequency>`. These
|
|
ioctls are used for TV and radio devices alike. Drivers must support
|
|
both ioctls when the tuner or modulator ioctls are supported, or when
|
|
the device is a radio device.
|
|
|
|
|
|
.. ------------------------------------------------------------------------------
|
|
.. This file was automatically converted from DocBook-XML with the dbxml
|
|
.. library (https://github.com/return42/sphkerneldoc). The origin XML comes
|
|
.. from the linux kernel, refer to:
|
|
..
|
|
.. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook
|
|
.. ------------------------------------------------------------------------------
|