1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2407e84cdSMauro Carvalho Chehab.. c:namespace:: V4L 354f38fcaSMauro Carvalho Chehab 454f38fcaSMauro Carvalho Chehab.. _VIDIOC_G_TUNER: 554f38fcaSMauro Carvalho Chehab 654f38fcaSMauro Carvalho Chehab************************************ 754f38fcaSMauro Carvalho Chehabioctl VIDIOC_G_TUNER, VIDIOC_S_TUNER 854f38fcaSMauro Carvalho Chehab************************************ 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho ChehabName 1154f38fcaSMauro Carvalho Chehab==== 1254f38fcaSMauro Carvalho Chehab 1354f38fcaSMauro Carvalho ChehabVIDIOC_G_TUNER - VIDIOC_S_TUNER - Get or set tuner attributes 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabSynopsis 1654f38fcaSMauro Carvalho Chehab======== 1754f38fcaSMauro Carvalho Chehab 18407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_G_TUNER 1954f38fcaSMauro Carvalho Chehab 20407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_G_TUNER, struct v4l2_tuner *argp)`` 2154f38fcaSMauro Carvalho Chehab 22407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_S_TUNER 23407e84cdSMauro Carvalho Chehab 24407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_S_TUNER, const struct v4l2_tuner *argp)`` 2554f38fcaSMauro Carvalho Chehab 2654f38fcaSMauro Carvalho ChehabArguments 2754f38fcaSMauro Carvalho Chehab========= 2854f38fcaSMauro Carvalho Chehab 2954f38fcaSMauro Carvalho Chehab``fd`` 30407e84cdSMauro Carvalho Chehab File descriptor returned by :c:func:`open()`. 3154f38fcaSMauro Carvalho Chehab 3254f38fcaSMauro Carvalho Chehab``argp`` 3354f38fcaSMauro Carvalho Chehab Pointer to struct :c:type:`v4l2_tuner`. 3454f38fcaSMauro Carvalho Chehab 3554f38fcaSMauro Carvalho ChehabDescription 3654f38fcaSMauro Carvalho Chehab=========== 3754f38fcaSMauro Carvalho Chehab 3854f38fcaSMauro Carvalho ChehabTo query the attributes of a tuner applications initialize the ``index`` 3954f38fcaSMauro Carvalho Chehabfield and zero out the ``reserved`` array of a struct 4054f38fcaSMauro Carvalho Chehab:c:type:`v4l2_tuner` and call the ``VIDIOC_G_TUNER`` ioctl 4154f38fcaSMauro Carvalho Chehabwith a pointer to this structure. Drivers fill the rest of the structure 4254f38fcaSMauro Carvalho Chehabor return an ``EINVAL`` error code when the index is out of bounds. To 4354f38fcaSMauro Carvalho Chehabenumerate all tuners applications shall begin at index zero, 4454f38fcaSMauro Carvalho Chehabincrementing by one until the driver returns ``EINVAL``. 4554f38fcaSMauro Carvalho Chehab 4654f38fcaSMauro Carvalho ChehabTuners have two writable properties, the audio mode and the radio 4754f38fcaSMauro Carvalho Chehabfrequency. To change the audio mode, applications initialize the 4854f38fcaSMauro Carvalho Chehab``index``, ``audmode`` and ``reserved`` fields and call the 4954f38fcaSMauro Carvalho Chehab``VIDIOC_S_TUNER`` ioctl. This will *not* change the current tuner, 5054f38fcaSMauro Carvalho Chehabwhich is determined by the current video input. Drivers may choose a 5154f38fcaSMauro Carvalho Chehabdifferent audio mode if the requested mode is invalid or unsupported. 5254f38fcaSMauro Carvalho ChehabSince this is a write-only ioctl, it does not return the actually 5354f38fcaSMauro Carvalho Chehabselected audio mode. 5454f38fcaSMauro Carvalho Chehab 5554f38fcaSMauro Carvalho Chehab:ref:`SDR <sdr>` specific tuner types are ``V4L2_TUNER_SDR`` and 5654f38fcaSMauro Carvalho Chehab``V4L2_TUNER_RF``. For SDR devices ``audmode`` field must be initialized 5754f38fcaSMauro Carvalho Chehabto zero. The term 'tuner' means SDR receiver in this context. 5854f38fcaSMauro Carvalho Chehab 5954f38fcaSMauro Carvalho ChehabTo change the radio frequency the 6054f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl is available. 6154f38fcaSMauro Carvalho Chehab 62fea13a69SMauro Carvalho Chehab .. tabularcolumns:: |p{1.3cm}|p{3.0cm}|p{7.0cm}|p{5.8cm}| 6354f38fcaSMauro Carvalho Chehab 6454f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_tuner 6554f38fcaSMauro Carvalho Chehab 6654f38fcaSMauro Carvalho Chehab.. cssclass:: longtable 6754f38fcaSMauro Carvalho Chehab 6854f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_tuner 6954f38fcaSMauro Carvalho Chehab :header-rows: 0 7054f38fcaSMauro Carvalho Chehab :stub-columns: 0 7154f38fcaSMauro Carvalho Chehab 7254f38fcaSMauro Carvalho Chehab * - __u32 7354f38fcaSMauro Carvalho Chehab - ``index`` 7454f38fcaSMauro Carvalho Chehab - :cspan:`1` Identifies the tuner, set by the application. 7554f38fcaSMauro Carvalho Chehab * - __u8 7654f38fcaSMauro Carvalho Chehab - ``name``\ [32] 7754f38fcaSMauro Carvalho Chehab - :cspan:`1` 7854f38fcaSMauro Carvalho Chehab 7954f38fcaSMauro Carvalho Chehab Name of the tuner, a NUL-terminated ASCII string. 8054f38fcaSMauro Carvalho Chehab 8154f38fcaSMauro Carvalho Chehab This information is intended for the user. 8254f38fcaSMauro Carvalho Chehab * - __u32 8354f38fcaSMauro Carvalho Chehab - ``type`` 8454f38fcaSMauro Carvalho Chehab - :cspan:`1` Type of the tuner, see :c:type:`v4l2_tuner_type`. 8554f38fcaSMauro Carvalho Chehab * - __u32 8654f38fcaSMauro Carvalho Chehab - ``capability`` 8754f38fcaSMauro Carvalho Chehab - :cspan:`1` 8854f38fcaSMauro Carvalho Chehab 8954f38fcaSMauro Carvalho Chehab Tuner capability flags, see :ref:`tuner-capability`. Audio flags 9054f38fcaSMauro Carvalho Chehab indicate the ability to decode audio subprograms. They will *not* 9154f38fcaSMauro Carvalho Chehab change, for example with the current video standard. 9254f38fcaSMauro Carvalho Chehab 9354f38fcaSMauro Carvalho Chehab When the structure refers to a radio tuner the 9454f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_CAP_LANG1``, ``V4L2_TUNER_CAP_LANG2`` and 9554f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_CAP_NORM`` flags can't be used. 9654f38fcaSMauro Carvalho Chehab 9754f38fcaSMauro Carvalho Chehab If multiple frequency bands are supported, then ``capability`` is 9854f38fcaSMauro Carvalho Chehab the union of all ``capability`` fields of each struct 9954f38fcaSMauro Carvalho Chehab :c:type:`v4l2_frequency_band`. 10054f38fcaSMauro Carvalho Chehab * - __u32 10154f38fcaSMauro Carvalho Chehab - ``rangelow`` 10254f38fcaSMauro Carvalho Chehab - :cspan:`1` The lowest tunable frequency in units of 62.5 kHz, or 10354f38fcaSMauro Carvalho Chehab if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units 10454f38fcaSMauro Carvalho Chehab of 62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` 10554f38fcaSMauro Carvalho Chehab is set, in units of 1 Hz. If multiple frequency bands are 10654f38fcaSMauro Carvalho Chehab supported, then ``rangelow`` is the lowest frequency of all the 10754f38fcaSMauro Carvalho Chehab frequency bands. 10854f38fcaSMauro Carvalho Chehab * - __u32 10954f38fcaSMauro Carvalho Chehab - ``rangehigh`` 11054f38fcaSMauro Carvalho Chehab - :cspan:`1` The highest tunable frequency in units of 62.5 kHz, 11154f38fcaSMauro Carvalho Chehab or if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in 11254f38fcaSMauro Carvalho Chehab units of 62.5 Hz, or if the ``capability`` flag 11354f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_CAP_1HZ`` is set, in units of 1 Hz. If multiple 11454f38fcaSMauro Carvalho Chehab frequency bands are supported, then ``rangehigh`` is the highest 11554f38fcaSMauro Carvalho Chehab frequency of all the frequency bands. 11654f38fcaSMauro Carvalho Chehab * - __u32 11754f38fcaSMauro Carvalho Chehab - ``rxsubchans`` 11854f38fcaSMauro Carvalho Chehab - :cspan:`1` 11954f38fcaSMauro Carvalho Chehab 12054f38fcaSMauro Carvalho Chehab Some tuners or audio decoders can determine the received audio 12154f38fcaSMauro Carvalho Chehab subprograms by analyzing audio carriers, pilot tones or other 12254f38fcaSMauro Carvalho Chehab indicators. To pass this information drivers set flags defined in 12354f38fcaSMauro Carvalho Chehab :ref:`tuner-rxsubchans` in this field. For example: 12454f38fcaSMauro Carvalho Chehab * - 12554f38fcaSMauro Carvalho Chehab - 12654f38fcaSMauro Carvalho Chehab - ``V4L2_TUNER_SUB_MONO`` 12754f38fcaSMauro Carvalho Chehab - receiving mono audio 12854f38fcaSMauro Carvalho Chehab * - 12954f38fcaSMauro Carvalho Chehab - 13054f38fcaSMauro Carvalho Chehab - ``STEREO | SAP`` 13154f38fcaSMauro Carvalho Chehab - receiving stereo audio and a secondary audio program 13254f38fcaSMauro Carvalho Chehab * - 13354f38fcaSMauro Carvalho Chehab - 13454f38fcaSMauro Carvalho Chehab - ``MONO | STEREO`` 13554f38fcaSMauro Carvalho Chehab - receiving mono or stereo audio, the hardware cannot distinguish 13654f38fcaSMauro Carvalho Chehab * - 13754f38fcaSMauro Carvalho Chehab - 13854f38fcaSMauro Carvalho Chehab - ``LANG1 | LANG2`` 13954f38fcaSMauro Carvalho Chehab - receiving bilingual audio 14054f38fcaSMauro Carvalho Chehab * - 14154f38fcaSMauro Carvalho Chehab - 14254f38fcaSMauro Carvalho Chehab - ``MONO | STEREO | LANG1 | LANG2`` 14354f38fcaSMauro Carvalho Chehab - receiving mono, stereo or bilingual audio 14454f38fcaSMauro Carvalho Chehab * - 14554f38fcaSMauro Carvalho Chehab - 14654f38fcaSMauro Carvalho Chehab - :cspan:`1` 14754f38fcaSMauro Carvalho Chehab 14854f38fcaSMauro Carvalho Chehab When the ``V4L2_TUNER_CAP_STEREO``, ``_LANG1``, ``_LANG2`` or 14954f38fcaSMauro Carvalho Chehab ``_SAP`` flag is cleared in the ``capability`` field, the 15054f38fcaSMauro Carvalho Chehab corresponding ``V4L2_TUNER_SUB_`` flag must not be set here. 15154f38fcaSMauro Carvalho Chehab 15254f38fcaSMauro Carvalho Chehab This field is valid only if this is the tuner of the current video 15354f38fcaSMauro Carvalho Chehab input, or when the structure refers to a radio tuner. 15454f38fcaSMauro Carvalho Chehab * - __u32 15554f38fcaSMauro Carvalho Chehab - ``audmode`` 15654f38fcaSMauro Carvalho Chehab - :cspan:`1` 15754f38fcaSMauro Carvalho Chehab 15854f38fcaSMauro Carvalho Chehab The selected audio mode, see :ref:`tuner-audmode` for valid 15954f38fcaSMauro Carvalho Chehab values. The audio mode does not affect audio subprogram detection, 16054f38fcaSMauro Carvalho Chehab and like a :ref:`control` it does not automatically 16154f38fcaSMauro Carvalho Chehab change unless the requested mode is invalid or unsupported. See 16254f38fcaSMauro Carvalho Chehab :ref:`tuner-matrix` for possible results when the selected and 16354f38fcaSMauro Carvalho Chehab received audio programs do not match. 16454f38fcaSMauro Carvalho Chehab 16554f38fcaSMauro Carvalho Chehab Currently this is the only field of struct 16654f38fcaSMauro Carvalho Chehab struct :c:type:`v4l2_tuner` applications can change. 16754f38fcaSMauro Carvalho Chehab * - __u32 16854f38fcaSMauro Carvalho Chehab - ``signal`` 16954f38fcaSMauro Carvalho Chehab - :cspan:`1` The signal strength if known. 17054f38fcaSMauro Carvalho Chehab 17154f38fcaSMauro Carvalho Chehab Ranging from 0 to 65535. Higher values indicate a better signal. 17254f38fcaSMauro Carvalho Chehab * - __s32 17354f38fcaSMauro Carvalho Chehab - ``afc`` 17454f38fcaSMauro Carvalho Chehab - :cspan:`1` Automatic frequency control. 17554f38fcaSMauro Carvalho Chehab 17654f38fcaSMauro Carvalho Chehab When the ``afc`` value is negative, the frequency is too 17754f38fcaSMauro Carvalho Chehab low, when positive too high. 17854f38fcaSMauro Carvalho Chehab * - __u32 17954f38fcaSMauro Carvalho Chehab - ``reserved``\ [4] 18054f38fcaSMauro Carvalho Chehab - :cspan:`1` Reserved for future extensions. 18154f38fcaSMauro Carvalho Chehab 18254f38fcaSMauro Carvalho Chehab Drivers and applications must set the array to zero. 18354f38fcaSMauro Carvalho Chehab 18454f38fcaSMauro Carvalho Chehab 185fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 18654f38fcaSMauro Carvalho Chehab 18754f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_tuner_type 18854f38fcaSMauro Carvalho Chehab 18954f38fcaSMauro Carvalho Chehab.. flat-table:: enum v4l2_tuner_type 19054f38fcaSMauro Carvalho Chehab :header-rows: 0 19154f38fcaSMauro Carvalho Chehab :stub-columns: 0 19254f38fcaSMauro Carvalho Chehab :widths: 3 1 6 19354f38fcaSMauro Carvalho Chehab 19454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_RADIO`` 19554f38fcaSMauro Carvalho Chehab - 1 19654f38fcaSMauro Carvalho Chehab - Tuner supports radio 19754f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_ANALOG_TV`` 19854f38fcaSMauro Carvalho Chehab - 2 19954f38fcaSMauro Carvalho Chehab - Tuner supports analog TV 20054f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SDR`` 20154f38fcaSMauro Carvalho Chehab - 4 20254f38fcaSMauro Carvalho Chehab - Tuner controls the A/D and/or D/A block of a 20354f38fcaSMauro Carvalho Chehab Software Digital Radio (SDR) 20454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_RF`` 20554f38fcaSMauro Carvalho Chehab - 5 20654f38fcaSMauro Carvalho Chehab - Tuner controls the RF part of a Software Digital Radio (SDR) 20754f38fcaSMauro Carvalho Chehab 208fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.0cm}|p{2.2cm}|p{8.1cm}| 20954f38fcaSMauro Carvalho Chehab 21054f38fcaSMauro Carvalho Chehab.. _tuner-capability: 21154f38fcaSMauro Carvalho Chehab 21254f38fcaSMauro Carvalho Chehab.. cssclass:: longtable 21354f38fcaSMauro Carvalho Chehab 21454f38fcaSMauro Carvalho Chehab.. flat-table:: Tuner and Modulator Capability Flags 21554f38fcaSMauro Carvalho Chehab :header-rows: 0 21654f38fcaSMauro Carvalho Chehab :stub-columns: 0 21754f38fcaSMauro Carvalho Chehab :widths: 3 1 4 21854f38fcaSMauro Carvalho Chehab 21954f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_LOW`` 22054f38fcaSMauro Carvalho Chehab - 0x0001 22154f38fcaSMauro Carvalho Chehab - When set, tuning frequencies are expressed in units of 62.5 Hz 22254f38fcaSMauro Carvalho Chehab instead of 62.5 kHz. 22354f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_NORM`` 22454f38fcaSMauro Carvalho Chehab - 0x0002 22554f38fcaSMauro Carvalho Chehab - This is a multi-standard tuner; the video standard can or must be 22654f38fcaSMauro Carvalho Chehab switched. (B/G PAL tuners for example are typically not considered 22754f38fcaSMauro Carvalho Chehab multi-standard because the video standard is automatically 22854f38fcaSMauro Carvalho Chehab determined from the frequency band.) The set of supported video 22954f38fcaSMauro Carvalho Chehab standards is available from the struct 23054f38fcaSMauro Carvalho Chehab :c:type:`v4l2_input` pointing to this tuner, see the 23154f38fcaSMauro Carvalho Chehab description of ioctl :ref:`VIDIOC_ENUMINPUT` 23254f38fcaSMauro Carvalho Chehab for details. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this 23354f38fcaSMauro Carvalho Chehab capability. 23454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_HWSEEK_BOUNDED`` 23554f38fcaSMauro Carvalho Chehab - 0x0004 23654f38fcaSMauro Carvalho Chehab - If set, then this tuner supports the hardware seek functionality 23754f38fcaSMauro Carvalho Chehab where the seek stops when it reaches the end of the frequency 23854f38fcaSMauro Carvalho Chehab range. 23954f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_HWSEEK_WRAP`` 24054f38fcaSMauro Carvalho Chehab - 0x0008 24154f38fcaSMauro Carvalho Chehab - If set, then this tuner supports the hardware seek functionality 24254f38fcaSMauro Carvalho Chehab where the seek wraps around when it reaches the end of the 24354f38fcaSMauro Carvalho Chehab frequency range. 24454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_STEREO`` 24554f38fcaSMauro Carvalho Chehab - 0x0010 24654f38fcaSMauro Carvalho Chehab - Stereo audio reception is supported. 24754f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_LANG1`` 24854f38fcaSMauro Carvalho Chehab - 0x0040 24954f38fcaSMauro Carvalho Chehab - Reception of the primary language of a bilingual audio program is 25054f38fcaSMauro Carvalho Chehab supported. Bilingual audio is a feature of two-channel systems, 25154f38fcaSMauro Carvalho Chehab transmitting the primary language monaural on the main audio 25254f38fcaSMauro Carvalho Chehab carrier and a secondary language monaural on a second carrier. 25354f38fcaSMauro Carvalho Chehab Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this capability. 25454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_LANG2`` 25554f38fcaSMauro Carvalho Chehab - 0x0020 25654f38fcaSMauro Carvalho Chehab - Reception of the secondary language of a bilingual audio program 25754f38fcaSMauro Carvalho Chehab is supported. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this 25854f38fcaSMauro Carvalho Chehab capability. 25954f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_SAP`` 26054f38fcaSMauro Carvalho Chehab - 0x0020 26154f38fcaSMauro Carvalho Chehab - Reception of a secondary audio program is supported. This is a 26254f38fcaSMauro Carvalho Chehab feature of the BTSC system which accompanies the NTSC video 26354f38fcaSMauro Carvalho Chehab standard. Two audio carriers are available for mono or stereo 26454f38fcaSMauro Carvalho Chehab transmissions of a primary language, and an independent third 26554f38fcaSMauro Carvalho Chehab carrier for a monaural secondary language. Only 26654f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_ANALOG_TV`` tuners can have this capability. 26754f38fcaSMauro Carvalho Chehab 26854f38fcaSMauro Carvalho Chehab .. note:: 26954f38fcaSMauro Carvalho Chehab 27054f38fcaSMauro Carvalho Chehab The ``V4L2_TUNER_CAP_LANG2`` and ``V4L2_TUNER_CAP_SAP`` 27154f38fcaSMauro Carvalho Chehab flags are synonyms. ``V4L2_TUNER_CAP_SAP`` applies when the tuner 27254f38fcaSMauro Carvalho Chehab supports the ``V4L2_STD_NTSC_M`` video standard. 27354f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_RDS`` 27454f38fcaSMauro Carvalho Chehab - 0x0080 27554f38fcaSMauro Carvalho Chehab - RDS capture is supported. This capability is only valid for radio 27654f38fcaSMauro Carvalho Chehab tuners. 27754f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_RDS_BLOCK_IO`` 27854f38fcaSMauro Carvalho Chehab - 0x0100 27954f38fcaSMauro Carvalho Chehab - The RDS data is passed as unparsed RDS blocks. 28054f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_RDS_CONTROLS`` 28154f38fcaSMauro Carvalho Chehab - 0x0200 28254f38fcaSMauro Carvalho Chehab - The RDS data is parsed by the hardware and set via controls. 28354f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_FREQ_BANDS`` 28454f38fcaSMauro Carvalho Chehab - 0x0400 28554f38fcaSMauro Carvalho Chehab - The :ref:`VIDIOC_ENUM_FREQ_BANDS` 28654f38fcaSMauro Carvalho Chehab ioctl can be used to enumerate the available frequency bands. 28754f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_HWSEEK_PROG_LIM`` 28854f38fcaSMauro Carvalho Chehab - 0x0800 28954f38fcaSMauro Carvalho Chehab - The range to search when using the hardware seek functionality is 29054f38fcaSMauro Carvalho Chehab programmable, see 29154f38fcaSMauro Carvalho Chehab :ref:`VIDIOC_S_HW_FREQ_SEEK` for 29254f38fcaSMauro Carvalho Chehab details. 29354f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_CAP_1HZ`` 29454f38fcaSMauro Carvalho Chehab - 0x1000 29554f38fcaSMauro Carvalho Chehab - When set, tuning frequencies are expressed in units of 1 Hz 29654f38fcaSMauro Carvalho Chehab instead of 62.5 kHz. 29754f38fcaSMauro Carvalho Chehab 29854f38fcaSMauro Carvalho Chehab 299fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 300fea13a69SMauro Carvalho Chehab 301*c4a1bff9SMauro Carvalho Chehab.. _tuner-rxsubchans: 302*c4a1bff9SMauro Carvalho Chehab 30354f38fcaSMauro Carvalho Chehab.. flat-table:: Tuner Audio Reception Flags 30454f38fcaSMauro Carvalho Chehab :header-rows: 0 30554f38fcaSMauro Carvalho Chehab :stub-columns: 0 30654f38fcaSMauro Carvalho Chehab :widths: 3 1 4 30754f38fcaSMauro Carvalho Chehab 30854f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_MONO`` 30954f38fcaSMauro Carvalho Chehab - 0x0001 31054f38fcaSMauro Carvalho Chehab - The tuner receives a mono audio signal. 31154f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_STEREO`` 31254f38fcaSMauro Carvalho Chehab - 0x0002 31354f38fcaSMauro Carvalho Chehab - The tuner receives a stereo audio signal. 31454f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_LANG1`` 31554f38fcaSMauro Carvalho Chehab - 0x0008 31654f38fcaSMauro Carvalho Chehab - The tuner receives the primary language of a bilingual audio 31754f38fcaSMauro Carvalho Chehab signal. Drivers must clear this flag when the current video 31854f38fcaSMauro Carvalho Chehab standard is ``V4L2_STD_NTSC_M``. 31954f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_LANG2`` 32054f38fcaSMauro Carvalho Chehab - 0x0004 32154f38fcaSMauro Carvalho Chehab - The tuner receives the secondary language of a bilingual audio 32254f38fcaSMauro Carvalho Chehab signal (or a second audio program). 32354f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_SAP`` 32454f38fcaSMauro Carvalho Chehab - 0x0004 32554f38fcaSMauro Carvalho Chehab - The tuner receives a Second Audio Program. 32654f38fcaSMauro Carvalho Chehab 32754f38fcaSMauro Carvalho Chehab .. note:: 32854f38fcaSMauro Carvalho Chehab 32954f38fcaSMauro Carvalho Chehab The ``V4L2_TUNER_SUB_LANG2`` and ``V4L2_TUNER_SUB_SAP`` 33054f38fcaSMauro Carvalho Chehab flags are synonyms. The ``V4L2_TUNER_SUB_SAP`` flag applies 33154f38fcaSMauro Carvalho Chehab when the current video standard is ``V4L2_STD_NTSC_M``. 33254f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_SUB_RDS`` 33354f38fcaSMauro Carvalho Chehab - 0x0010 33454f38fcaSMauro Carvalho Chehab - The tuner receives an RDS channel. 33554f38fcaSMauro Carvalho Chehab 33654f38fcaSMauro Carvalho Chehab 337fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 33854f38fcaSMauro Carvalho Chehab 33954f38fcaSMauro Carvalho Chehab.. _tuner-audmode: 34054f38fcaSMauro Carvalho Chehab 34154f38fcaSMauro Carvalho Chehab.. flat-table:: Tuner Audio Modes 34254f38fcaSMauro Carvalho Chehab :header-rows: 0 34354f38fcaSMauro Carvalho Chehab :stub-columns: 0 34454f38fcaSMauro Carvalho Chehab :widths: 3 1 4 34554f38fcaSMauro Carvalho Chehab 34654f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_MONO`` 34754f38fcaSMauro Carvalho Chehab - 0 34854f38fcaSMauro Carvalho Chehab - Play mono audio. When the tuner receives a stereo signal this a 34954f38fcaSMauro Carvalho Chehab down-mix of the left and right channel. When the tuner receives a 35054f38fcaSMauro Carvalho Chehab bilingual or SAP signal this mode selects the primary language. 35154f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_STEREO`` 35254f38fcaSMauro Carvalho Chehab - 1 35354f38fcaSMauro Carvalho Chehab - Play stereo audio. When the tuner receives bilingual audio it may 35454f38fcaSMauro Carvalho Chehab play different languages on the left and right channel or the 35554f38fcaSMauro Carvalho Chehab primary language is played on both channels. 35654f38fcaSMauro Carvalho Chehab 35754f38fcaSMauro Carvalho Chehab Playing different languages in this mode is deprecated. New 35854f38fcaSMauro Carvalho Chehab drivers should do this only in ``MODE_LANG1_LANG2``. 35954f38fcaSMauro Carvalho Chehab 36054f38fcaSMauro Carvalho Chehab When the tuner receives no stereo signal or does not support 36154f38fcaSMauro Carvalho Chehab stereo reception the driver shall fall back to ``MODE_MONO``. 36254f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_LANG1`` 36354f38fcaSMauro Carvalho Chehab - 3 36454f38fcaSMauro Carvalho Chehab - Play the primary language, mono or stereo. Only 36554f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_ANALOG_TV`` tuners support this mode. 36654f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_LANG2`` 36754f38fcaSMauro Carvalho Chehab - 2 36854f38fcaSMauro Carvalho Chehab - Play the secondary language, mono. When the tuner receives no 36954f38fcaSMauro Carvalho Chehab bilingual audio or SAP, or their reception is not supported the 37054f38fcaSMauro Carvalho Chehab driver shall fall back to mono or stereo mode. Only 37154f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_ANALOG_TV`` tuners support this mode. 37254f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_SAP`` 37354f38fcaSMauro Carvalho Chehab - 2 37454f38fcaSMauro Carvalho Chehab - Play the Second Audio Program. When the tuner receives no 37554f38fcaSMauro Carvalho Chehab bilingual audio or SAP, or their reception is not supported the 37654f38fcaSMauro Carvalho Chehab driver shall fall back to mono or stereo mode. Only 37754f38fcaSMauro Carvalho Chehab ``V4L2_TUNER_ANALOG_TV`` tuners support this mode. 37854f38fcaSMauro Carvalho Chehab 37954f38fcaSMauro Carvalho Chehab .. note:: The ``V4L2_TUNER_MODE_LANG2`` and ``V4L2_TUNER_MODE_SAP`` 38054f38fcaSMauro Carvalho Chehab are synonyms. 38154f38fcaSMauro Carvalho Chehab * - ``V4L2_TUNER_MODE_LANG1_LANG2`` 38254f38fcaSMauro Carvalho Chehab - 4 38354f38fcaSMauro Carvalho Chehab - Play the primary language on the left channel, the secondary 38454f38fcaSMauro Carvalho Chehab language on the right channel. When the tuner receives no 38554f38fcaSMauro Carvalho Chehab bilingual audio or SAP, it shall fall back to ``MODE_LANG1`` or 38654f38fcaSMauro Carvalho Chehab ``MODE_MONO``. Only ``V4L2_TUNER_ANALOG_TV`` tuners support this 38754f38fcaSMauro Carvalho Chehab mode. 38854f38fcaSMauro Carvalho Chehab 38954f38fcaSMauro Carvalho Chehab.. raw:: latex 39054f38fcaSMauro Carvalho Chehab 39154f38fcaSMauro Carvalho Chehab \scriptsize 39254f38fcaSMauro Carvalho Chehab 39354f38fcaSMauro Carvalho Chehab.. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{2.9cm}|p{2.9cm}|p{2.9cm}|p{2.9cm}| 39454f38fcaSMauro Carvalho Chehab 39554f38fcaSMauro Carvalho Chehab.. _tuner-matrix: 39654f38fcaSMauro Carvalho Chehab 39754f38fcaSMauro Carvalho Chehab.. flat-table:: Tuner Audio Matrix 39854f38fcaSMauro Carvalho Chehab :header-rows: 2 39954f38fcaSMauro Carvalho Chehab :stub-columns: 0 40054f38fcaSMauro Carvalho Chehab :widths: 7 7 14 14 14 14 40154f38fcaSMauro Carvalho Chehab 40254f38fcaSMauro Carvalho Chehab * - 40354f38fcaSMauro Carvalho Chehab - :cspan:`4` Selected ``V4L2_TUNER_MODE_`` 40454f38fcaSMauro Carvalho Chehab * - Received ``V4L2_TUNER_SUB_`` 40554f38fcaSMauro Carvalho Chehab - ``MONO`` 40654f38fcaSMauro Carvalho Chehab - ``STEREO`` 40754f38fcaSMauro Carvalho Chehab - ``LANG1`` 40854f38fcaSMauro Carvalho Chehab - ``LANG2 = SAP`` 40954f38fcaSMauro Carvalho Chehab - ``LANG1_LANG2``\ [#f1]_ 41054f38fcaSMauro Carvalho Chehab * - ``MONO`` 41154f38fcaSMauro Carvalho Chehab - Mono 41254f38fcaSMauro Carvalho Chehab - Mono/Mono 41354f38fcaSMauro Carvalho Chehab - Mono 41454f38fcaSMauro Carvalho Chehab - Mono 41554f38fcaSMauro Carvalho Chehab - Mono/Mono 41654f38fcaSMauro Carvalho Chehab * - ``MONO | SAP`` 41754f38fcaSMauro Carvalho Chehab - Mono 41854f38fcaSMauro Carvalho Chehab - Mono/Mono 41954f38fcaSMauro Carvalho Chehab - Mono 42054f38fcaSMauro Carvalho Chehab - SAP 42154f38fcaSMauro Carvalho Chehab - Mono/SAP (preferred) or Mono/Mono 42254f38fcaSMauro Carvalho Chehab * - ``STEREO`` 42354f38fcaSMauro Carvalho Chehab - L+R 42454f38fcaSMauro Carvalho Chehab - L/R 42554f38fcaSMauro Carvalho Chehab - Stereo L/R (preferred) or Mono L+R 42654f38fcaSMauro Carvalho Chehab - Stereo L/R (preferred) or Mono L+R 42754f38fcaSMauro Carvalho Chehab - L/R (preferred) or L+R/L+R 42854f38fcaSMauro Carvalho Chehab * - ``STEREO | SAP`` 42954f38fcaSMauro Carvalho Chehab - L+R 43054f38fcaSMauro Carvalho Chehab - L/R 43154f38fcaSMauro Carvalho Chehab - Stereo L/R (preferred) or Mono L+R 43254f38fcaSMauro Carvalho Chehab - SAP 43354f38fcaSMauro Carvalho Chehab - L+R/SAP (preferred) or L/R or L+R/L+R 43454f38fcaSMauro Carvalho Chehab * - ``LANG1 | LANG2`` 43554f38fcaSMauro Carvalho Chehab - Language 1 43654f38fcaSMauro Carvalho Chehab - Lang1/Lang2 (deprecated\ [#f2]_) or Lang1/Lang1 43754f38fcaSMauro Carvalho Chehab - Language 1 43854f38fcaSMauro Carvalho Chehab - Language 2 43954f38fcaSMauro Carvalho Chehab - Lang1/Lang2 (preferred) or Lang1/Lang1 44054f38fcaSMauro Carvalho Chehab 44154f38fcaSMauro Carvalho Chehab.. raw:: latex 44254f38fcaSMauro Carvalho Chehab 44354f38fcaSMauro Carvalho Chehab \normalsize 44454f38fcaSMauro Carvalho Chehab 44554f38fcaSMauro Carvalho ChehabReturn Value 44654f38fcaSMauro Carvalho Chehab============ 44754f38fcaSMauro Carvalho Chehab 44854f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 44954f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 45054f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 45154f38fcaSMauro Carvalho Chehab 45254f38fcaSMauro Carvalho ChehabEINVAL 45354f38fcaSMauro Carvalho Chehab The struct :c:type:`v4l2_tuner` ``index`` is out of 45454f38fcaSMauro Carvalho Chehab bounds. 45554f38fcaSMauro Carvalho Chehab 45654f38fcaSMauro Carvalho Chehab.. [#f1] 45754f38fcaSMauro Carvalho Chehab This mode has been added in Linux 2.6.17 and may not be supported by 45854f38fcaSMauro Carvalho Chehab older drivers. 45954f38fcaSMauro Carvalho Chehab 46054f38fcaSMauro Carvalho Chehab.. [#f2] 46154f38fcaSMauro Carvalho Chehab Playback of both languages in ``MODE_STEREO`` is deprecated. In the 46254f38fcaSMauro Carvalho Chehab future drivers should produce only the primary language in this mode. 46354f38fcaSMauro Carvalho Chehab Applications should request ``MODE_LANG1_LANG2`` to record both 46454f38fcaSMauro Carvalho Chehab languages or a stereo signal. 465