vidioc-g-tuner.xml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. <refentry id="vidioc-g-tuner">
  2. <refmeta>
  3. <refentrytitle>ioctl VIDIOC_G_TUNER, VIDIOC_S_TUNER</refentrytitle>
  4. &manvol;
  5. </refmeta>
  6. <refnamediv>
  7. <refname>VIDIOC_G_TUNER</refname>
  8. <refname>VIDIOC_S_TUNER</refname>
  9. <refpurpose>Get or set tuner attributes</refpurpose>
  10. </refnamediv>
  11. <refsynopsisdiv>
  12. <funcsynopsis>
  13. <funcprototype>
  14. <funcdef>int <function>ioctl</function></funcdef>
  15. <paramdef>int <parameter>fd</parameter></paramdef>
  16. <paramdef>int <parameter>request</parameter></paramdef>
  17. <paramdef>struct v4l2_tuner
  18. *<parameter>argp</parameter></paramdef>
  19. </funcprototype>
  20. </funcsynopsis>
  21. <funcsynopsis>
  22. <funcprototype>
  23. <funcdef>int <function>ioctl</function></funcdef>
  24. <paramdef>int <parameter>fd</parameter></paramdef>
  25. <paramdef>int <parameter>request</parameter></paramdef>
  26. <paramdef>const struct v4l2_tuner
  27. *<parameter>argp</parameter></paramdef>
  28. </funcprototype>
  29. </funcsynopsis>
  30. </refsynopsisdiv>
  31. <refsect1>
  32. <title>Arguments</title>
  33. <variablelist>
  34. <varlistentry>
  35. <term><parameter>fd</parameter></term>
  36. <listitem>
  37. <para>&fd;</para>
  38. </listitem>
  39. </varlistentry>
  40. <varlistentry>
  41. <term><parameter>request</parameter></term>
  42. <listitem>
  43. <para>VIDIOC_G_TUNER, VIDIOC_S_TUNER</para>
  44. </listitem>
  45. </varlistentry>
  46. <varlistentry>
  47. <term><parameter>argp</parameter></term>
  48. <listitem>
  49. <para></para>
  50. </listitem>
  51. </varlistentry>
  52. </variablelist>
  53. </refsect1>
  54. <refsect1>
  55. <title>Description</title>
  56. <para>To query the attributes of a tuner applications initialize the
  57. <structfield>index</structfield> field and zero out the
  58. <structfield>reserved</structfield> array of a &v4l2-tuner; and call the
  59. <constant>VIDIOC_G_TUNER</constant> ioctl with a pointer to this
  60. structure. Drivers fill the rest of the structure or return an
  61. &EINVAL; when the index is out of bounds. To enumerate all tuners
  62. applications shall begin at index zero, incrementing by one until the
  63. driver returns <errorcode>EINVAL</errorcode>.</para>
  64. <para>Tuners have two writable properties, the audio mode and
  65. the radio frequency. To change the audio mode, applications initialize
  66. the <structfield>index</structfield>,
  67. <structfield>audmode</structfield> and
  68. <structfield>reserved</structfield> fields and call the
  69. <constant>VIDIOC_S_TUNER</constant> ioctl. This will
  70. <emphasis>not</emphasis> change the current tuner, which is determined
  71. by the current video input. Drivers may choose a different audio mode
  72. if the requested mode is invalid or unsupported. Since this is a
  73. <!-- FIXME -->write-only ioctl, it does not return the actually
  74. selected audio mode.</para>
  75. <para>To change the radio frequency the &VIDIOC-S-FREQUENCY; ioctl
  76. is available.</para>
  77. <table pgwide="1" frame="none" id="v4l2-tuner">
  78. <title>struct <structname>v4l2_tuner</structname></title>
  79. <tgroup cols="3">
  80. <colspec colname="c1" colwidth="1*" />
  81. <colspec colname="c2" colwidth="1*" />
  82. <colspec colname="c3" colwidth="1*" />
  83. <colspec colname="c4" colwidth="1*" />
  84. <spanspec spanname="hspan" namest="c3" nameend="c4" />
  85. <tbody valign="top">
  86. <row>
  87. <entry>__u32</entry>
  88. <entry><structfield>index</structfield></entry>
  89. <entry spanname="hspan">Identifies the tuner, set by the
  90. application.</entry>
  91. </row>
  92. <row>
  93. <entry>__u8</entry>
  94. <entry><structfield>name</structfield>[32]</entry>
  95. <entry spanname="hspan"><para>Name of the tuner, a
  96. NUL-terminated ASCII string. This information is intended for the
  97. user.<!-- FIXME Video inputs already have a name, the purpose of this
  98. field is not quite clear.--></para></entry>
  99. </row>
  100. <row>
  101. <entry>__u32</entry>
  102. <entry><structfield>type</structfield></entry>
  103. <entry spanname="hspan">Type of the tuner, see <xref
  104. linkend="v4l2-tuner-type" />.</entry>
  105. </row>
  106. <row>
  107. <entry>__u32</entry>
  108. <entry><structfield>capability</structfield></entry>
  109. <entry spanname="hspan"><para>Tuner capability flags, see
  110. <xref linkend="tuner-capability" />. Audio flags indicate the ability
  111. to decode audio subprograms. They will <emphasis>not</emphasis>
  112. change, for example with the current video standard.</para><para>When
  113. the structure refers to a radio tuner the
  114. <constant>V4L2_TUNER_CAP_LANG1</constant>,
  115. <constant>V4L2_TUNER_CAP_LANG2</constant> and
  116. <constant>V4L2_TUNER_CAP_NORM</constant> flags can't be used.</para>
  117. <para>If multiple frequency bands are supported, then
  118. <structfield>capability</structfield> is the union of all
  119. <structfield>capability</structfield> fields of each &v4l2-frequency-band;.
  120. </para></entry>
  121. </row>
  122. <row>
  123. <entry>__u32</entry>
  124. <entry><structfield>rangelow</structfield></entry>
  125. <entry spanname="hspan">The lowest tunable frequency in
  126. units of 62.5 kHz, or if the <structfield>capability</structfield>
  127. flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
  128. Hz, or if the <structfield>capability</structfield> flag
  129. <constant>V4L2_TUNER_CAP_1HZ</constant> is set, in units of 1 Hz.
  130. If multiple frequency bands are supported, then
  131. <structfield>rangelow</structfield> is the lowest frequency
  132. of all the frequency bands.</entry>
  133. </row>
  134. <row>
  135. <entry>__u32</entry>
  136. <entry><structfield>rangehigh</structfield></entry>
  137. <entry spanname="hspan">The highest tunable frequency in
  138. units of 62.5 kHz, or if the <structfield>capability</structfield>
  139. flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
  140. Hz, or if the <structfield>capability</structfield> flag
  141. <constant>V4L2_TUNER_CAP_1HZ</constant> is set, in units of 1 Hz.
  142. If multiple frequency bands are supported, then
  143. <structfield>rangehigh</structfield> is the highest frequency
  144. of all the frequency bands.</entry>
  145. </row>
  146. <row>
  147. <entry>__u32</entry>
  148. <entry><structfield>rxsubchans</structfield></entry>
  149. <entry spanname="hspan"><para>Some tuners or audio
  150. decoders can determine the received audio subprograms by analyzing
  151. audio carriers, pilot tones or other indicators. To pass this
  152. information drivers set flags defined in <xref
  153. linkend="tuner-rxsubchans" /> in this field. For
  154. example:</para></entry>
  155. </row>
  156. <row>
  157. <entry></entry>
  158. <entry></entry>
  159. <entry><constant>V4L2_TUNER_SUB_MONO</constant></entry>
  160. <entry>receiving mono audio</entry>
  161. </row>
  162. <row>
  163. <entry></entry>
  164. <entry></entry>
  165. <entry><constant>STEREO | SAP</constant></entry>
  166. <entry>receiving stereo audio and a secondary audio
  167. program</entry>
  168. </row>
  169. <row>
  170. <entry></entry>
  171. <entry></entry>
  172. <entry><constant>MONO | STEREO</constant></entry>
  173. <entry>receiving mono or stereo audio, the hardware cannot
  174. distinguish</entry>
  175. </row>
  176. <row>
  177. <entry></entry>
  178. <entry></entry>
  179. <entry><constant>LANG1 | LANG2</constant></entry>
  180. <entry>receiving bilingual audio</entry>
  181. </row>
  182. <row>
  183. <entry></entry>
  184. <entry></entry>
  185. <entry><constant>MONO | STEREO | LANG1 | LANG2</constant></entry>
  186. <entry>receiving mono, stereo or bilingual
  187. audio</entry>
  188. </row>
  189. <row>
  190. <entry></entry>
  191. <entry></entry>
  192. <entry spanname="hspan"><para>When the
  193. <constant>V4L2_TUNER_CAP_STEREO</constant>,
  194. <constant>_LANG1</constant>, <constant>_LANG2</constant> or
  195. <constant>_SAP</constant> flag is cleared in the
  196. <structfield>capability</structfield> field, the corresponding
  197. <constant>V4L2_TUNER_SUB_</constant> flag must not be set
  198. here.</para><para>This field is valid only if this is the tuner of the
  199. current video input, or when the structure refers to a radio
  200. tuner.</para></entry>
  201. </row>
  202. <row>
  203. <entry>__u32</entry>
  204. <entry><structfield>audmode</structfield></entry>
  205. <entry spanname="hspan"><para>The selected audio mode, see
  206. <xref linkend="tuner-audmode" /> for valid values. The audio mode does
  207. not affect audio subprogram detection, and like a <link
  208. linkend="control">control</link> it does not automatically change
  209. unless the requested mode is invalid or unsupported. See <xref
  210. linkend="tuner-matrix" /> for possible results when
  211. the selected and received audio programs do not
  212. match.</para><para>Currently this is the only field of struct
  213. <structname>v4l2_tuner</structname> applications can
  214. change.</para></entry>
  215. </row>
  216. <row>
  217. <entry>__u32</entry>
  218. <entry><structfield>signal</structfield></entry>
  219. <entry spanname="hspan">The signal strength if known, ranging
  220. from 0 to 65535. Higher values indicate a better signal.</entry>
  221. </row>
  222. <row>
  223. <entry>__s32</entry>
  224. <entry><structfield>afc</structfield></entry>
  225. <entry spanname="hspan">Automatic frequency control: When the
  226. <structfield>afc</structfield> value is negative, the frequency is too
  227. low, when positive too high.<!-- FIXME need example what to do when it never
  228. settles at zero, &ie; range is what? --></entry>
  229. </row>
  230. <row>
  231. <entry>__u32</entry>
  232. <entry><structfield>reserved</structfield>[4]</entry>
  233. <entry spanname="hspan">Reserved for future extensions. Drivers and
  234. applications must set the array to zero.</entry>
  235. </row>
  236. </tbody>
  237. </tgroup>
  238. </table>
  239. <table pgwide="1" frame="none" id="v4l2-tuner-type">
  240. <title>enum v4l2_tuner_type</title>
  241. <tgroup cols="3">
  242. &cs-def;
  243. <tbody valign="top">
  244. <row>
  245. <entry><constant>V4L2_TUNER_RADIO</constant></entry>
  246. <entry>1</entry>
  247. <entry></entry>
  248. </row>
  249. <row>
  250. <entry><constant>V4L2_TUNER_ANALOG_TV</constant></entry>
  251. <entry>2</entry>
  252. <entry></entry>
  253. </row>
  254. </tbody>
  255. </tgroup>
  256. </table>
  257. <table pgwide="1" frame="none" id="tuner-capability">
  258. <title>Tuner and Modulator Capability Flags</title>
  259. <tgroup cols="3">
  260. &cs-def;
  261. <tbody valign="top">
  262. <row>
  263. <entry><constant>V4L2_TUNER_CAP_LOW</constant></entry>
  264. <entry>0x0001</entry>
  265. <entry>When set, tuning frequencies are expressed in units of
  266. 62.5 Hz instead of 62.5 kHz.</entry>
  267. </row>
  268. <row>
  269. <entry><constant>V4L2_TUNER_CAP_NORM</constant></entry>
  270. <entry>0x0002</entry>
  271. <entry>This is a multi-standard tuner; the video standard
  272. can or must be switched. (B/G PAL tuners for example are typically not
  273. considered multi-standard because the video standard is automatically
  274. determined from the frequency band.) The set of supported video
  275. standards is available from the &v4l2-input; pointing to this tuner,
  276. see the description of ioctl &VIDIOC-ENUMINPUT; for details. Only
  277. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</entry>
  278. </row>
  279. <row>
  280. <entry><constant>V4L2_TUNER_CAP_HWSEEK_BOUNDED</constant></entry>
  281. <entry>0x0004</entry>
  282. <entry>If set, then this tuner supports the hardware seek functionality
  283. where the seek stops when it reaches the end of the frequency range.</entry>
  284. </row>
  285. <row>
  286. <entry><constant>V4L2_TUNER_CAP_HWSEEK_WRAP</constant></entry>
  287. <entry>0x0008</entry>
  288. <entry>If set, then this tuner supports the hardware seek functionality
  289. where the seek wraps around when it reaches the end of the frequency range.</entry>
  290. </row>
  291. <row>
  292. <entry><constant>V4L2_TUNER_CAP_STEREO</constant></entry>
  293. <entry>0x0010</entry>
  294. <entry>Stereo audio reception is supported.</entry>
  295. </row>
  296. <row>
  297. <entry><constant>V4L2_TUNER_CAP_LANG1</constant></entry>
  298. <entry>0x0040</entry>
  299. <entry>Reception of the primary language of a bilingual
  300. audio program is supported. Bilingual audio is a feature of
  301. two-channel systems, transmitting the primary language monaural on the
  302. main audio carrier and a secondary language monaural on a second
  303. carrier. Only
  304. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</entry>
  305. </row>
  306. <row>
  307. <entry><constant>V4L2_TUNER_CAP_LANG2</constant></entry>
  308. <entry>0x0020</entry>
  309. <entry>Reception of the secondary language of a bilingual
  310. audio program is supported. Only
  311. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</entry>
  312. </row>
  313. <row>
  314. <entry><constant>V4L2_TUNER_CAP_SAP</constant></entry>
  315. <entry>0x0020</entry>
  316. <entry><para>Reception of a secondary audio program is
  317. supported. This is a feature of the BTSC system which accompanies the
  318. NTSC video standard. Two audio carriers are available for mono or
  319. stereo transmissions of a primary language, and an independent third
  320. carrier for a monaural secondary language. Only
  321. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</para><para>Note the
  322. <constant>V4L2_TUNER_CAP_LANG2</constant> and
  323. <constant>V4L2_TUNER_CAP_SAP</constant> flags are synonyms.
  324. <constant>V4L2_TUNER_CAP_SAP</constant> applies when the tuner
  325. supports the <constant>V4L2_STD_NTSC_M</constant> video
  326. standard.</para><!-- FIXME what if PAL+NTSC and Bi but not SAP? --></entry>
  327. </row>
  328. <row>
  329. <entry><constant>V4L2_TUNER_CAP_RDS</constant></entry>
  330. <entry>0x0080</entry>
  331. <entry>RDS capture is supported. This capability is only valid for
  332. radio tuners.</entry>
  333. </row>
  334. <row>
  335. <entry><constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant></entry>
  336. <entry>0x0100</entry>
  337. <entry>The RDS data is passed as unparsed RDS blocks.</entry>
  338. </row>
  339. <row>
  340. <entry><constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant></entry>
  341. <entry>0x0200</entry>
  342. <entry>The RDS data is parsed by the hardware and set via controls.</entry>
  343. </row>
  344. <row>
  345. <entry><constant>V4L2_TUNER_CAP_FREQ_BANDS</constant></entry>
  346. <entry>0x0400</entry>
  347. <entry>The &VIDIOC-ENUM-FREQ-BANDS; ioctl can be used to enumerate
  348. the available frequency bands.</entry>
  349. </row>
  350. <row>
  351. <entry><constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant></entry>
  352. <entry>0x0800</entry>
  353. <entry>The range to search when using the hardware seek functionality
  354. is programmable, see &VIDIOC-S-HW-FREQ-SEEK; for details.</entry>
  355. </row>
  356. <row>
  357. <entry><constant>V4L2_TUNER_CAP_1HZ</constant></entry>
  358. <entry>0x1000</entry>
  359. <entry>When set, tuning frequencies are expressed in units of 1 Hz instead of 62.5 kHz.</entry>
  360. </row>
  361. </tbody>
  362. </tgroup>
  363. </table>
  364. <table pgwide="1" frame="none" id="tuner-rxsubchans">
  365. <title>Tuner Audio Reception Flags</title>
  366. <tgroup cols="3">
  367. &cs-def;
  368. <tbody valign="top">
  369. <row>
  370. <entry><constant>V4L2_TUNER_SUB_MONO</constant></entry>
  371. <entry>0x0001</entry>
  372. <entry>The tuner receives a mono audio signal.</entry>
  373. </row>
  374. <row>
  375. <entry><constant>V4L2_TUNER_SUB_STEREO</constant></entry>
  376. <entry>0x0002</entry>
  377. <entry>The tuner receives a stereo audio signal.</entry>
  378. </row>
  379. <row>
  380. <entry><constant>V4L2_TUNER_SUB_LANG1</constant></entry>
  381. <entry>0x0008</entry>
  382. <entry>The tuner receives the primary language of a
  383. bilingual audio signal. Drivers must clear this flag when the current
  384. video standard is <constant>V4L2_STD_NTSC_M</constant>.</entry>
  385. </row>
  386. <row>
  387. <entry><constant>V4L2_TUNER_SUB_LANG2</constant></entry>
  388. <entry>0x0004</entry>
  389. <entry>The tuner receives the secondary language of a
  390. bilingual audio signal (or a second audio program).</entry>
  391. </row>
  392. <row>
  393. <entry><constant>V4L2_TUNER_SUB_SAP</constant></entry>
  394. <entry>0x0004</entry>
  395. <entry>The tuner receives a Second Audio Program. Note the
  396. <constant>V4L2_TUNER_SUB_LANG2</constant> and
  397. <constant>V4L2_TUNER_SUB_SAP</constant> flags are synonyms. The
  398. <constant>V4L2_TUNER_SUB_SAP</constant> flag applies when the
  399. current video standard is <constant>V4L2_STD_NTSC_M</constant>.</entry>
  400. </row>
  401. <row>
  402. <entry><constant>V4L2_TUNER_SUB_RDS</constant></entry>
  403. <entry>0x0010</entry>
  404. <entry>The tuner receives an RDS channel.</entry>
  405. </row>
  406. </tbody>
  407. </tgroup>
  408. </table>
  409. <table pgwide="1" frame="none" id="tuner-audmode">
  410. <title>Tuner Audio Modes</title>
  411. <tgroup cols="3">
  412. &cs-def;
  413. <tbody valign="top">
  414. <row>
  415. <entry><constant>V4L2_TUNER_MODE_MONO</constant></entry>
  416. <entry>0</entry>
  417. <entry>Play mono audio. When the tuner receives a stereo
  418. signal this a down-mix of the left and right channel. When the tuner
  419. receives a bilingual or SAP signal this mode selects the primary
  420. language.</entry>
  421. </row>
  422. <row>
  423. <entry><constant>V4L2_TUNER_MODE_STEREO</constant></entry>
  424. <entry>1</entry>
  425. <entry><para>Play stereo audio. When the tuner receives
  426. bilingual audio it may play different languages on the left and right
  427. channel or the primary language is played on both channels.</para><para>Playing
  428. different languages in this mode is
  429. deprecated. New drivers should do this only in
  430. <constant>MODE_LANG1_LANG2</constant>.</para><para>When the tuner
  431. receives no stereo signal or does not support stereo reception the
  432. driver shall fall back to <constant>MODE_MONO</constant>.</para></entry>
  433. </row>
  434. <row>
  435. <entry><constant>V4L2_TUNER_MODE_LANG1</constant></entry>
  436. <entry>3</entry>
  437. <entry>Play the primary language, mono or stereo. Only
  438. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners support this
  439. mode.</entry>
  440. </row>
  441. <row>
  442. <entry><constant>V4L2_TUNER_MODE_LANG2</constant></entry>
  443. <entry>2</entry>
  444. <entry>Play the secondary language, mono. When the tuner
  445. receives no bilingual audio or SAP, or their reception is not
  446. supported the driver shall fall back to mono or stereo mode. Only
  447. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners support this
  448. mode.</entry>
  449. </row>
  450. <row>
  451. <entry><constant>V4L2_TUNER_MODE_SAP</constant></entry>
  452. <entry>2</entry>
  453. <entry>Play the Second Audio Program. When the tuner
  454. receives no bilingual audio or SAP, or their reception is not
  455. supported the driver shall fall back to mono or stereo mode. Only
  456. <constant>V4L2_TUNER_ANALOG_TV</constant> tuners support this mode.
  457. Note the <constant>V4L2_TUNER_MODE_LANG2</constant> and
  458. <constant>V4L2_TUNER_MODE_SAP</constant> are synonyms.</entry>
  459. </row>
  460. <row>
  461. <entry><constant>V4L2_TUNER_MODE_LANG1_LANG2</constant></entry>
  462. <entry>4</entry>
  463. <entry>Play the primary language on the left channel, the
  464. secondary language on the right channel. When the tuner receives no
  465. bilingual audio or SAP, it shall fall back to
  466. <constant>MODE_LANG1</constant> or <constant>MODE_MONO</constant>.
  467. Only <constant>V4L2_TUNER_ANALOG_TV</constant> tuners support this
  468. mode.</entry>
  469. </row>
  470. </tbody>
  471. </tgroup>
  472. </table>
  473. <table pgwide="1" frame="all" id="tuner-matrix">
  474. <title>Tuner Audio Matrix</title>
  475. <tgroup cols="6" align="center">
  476. <colspec align="left" />
  477. <colspec colname="c2" colwidth="1*" />
  478. <colspec colwidth="1*" />
  479. <colspec colwidth="1*" />
  480. <colspec colnum="6" colname="c6" colwidth="1*" />
  481. <spanspec namest="c2" nameend="c6" spanname="hspan" align="center" />
  482. <thead>
  483. <row>
  484. <entry></entry>
  485. <entry spanname="hspan">Selected
  486. <constant>V4L2_TUNER_MODE_</constant></entry>
  487. </row>
  488. <row>
  489. <entry>Received <constant>V4L2_TUNER_SUB_</constant></entry>
  490. <entry><constant>MONO</constant></entry>
  491. <entry><constant>STEREO</constant></entry>
  492. <entry><constant>LANG1</constant></entry>
  493. <entry><constant>LANG2 = SAP</constant></entry>
  494. <entry><constant>LANG1_LANG2</constant><footnote><para>This
  495. mode has been added in Linux 2.6.17 and may not be supported by older
  496. drivers.</para></footnote></entry>
  497. </row>
  498. </thead>
  499. <tbody valign="top">
  500. <row>
  501. <entry><constant>MONO</constant></entry>
  502. <entry>Mono</entry>
  503. <entry>Mono/Mono</entry>
  504. <entry>Mono</entry>
  505. <entry>Mono</entry>
  506. <entry>Mono/Mono</entry>
  507. </row>
  508. <row>
  509. <entry><constant>MONO | SAP</constant></entry>
  510. <entry>Mono</entry>
  511. <entry>Mono/Mono</entry>
  512. <entry>Mono</entry>
  513. <entry>SAP</entry>
  514. <entry>Mono/SAP (preferred) or Mono/Mono</entry>
  515. </row>
  516. <row>
  517. <entry><constant>STEREO</constant></entry>
  518. <entry>L+R</entry>
  519. <entry>L/R</entry>
  520. <entry>Stereo L/R (preferred) or Mono L+R</entry>
  521. <entry>Stereo L/R (preferred) or Mono L+R</entry>
  522. <entry>L/R (preferred) or L+R/L+R</entry>
  523. </row>
  524. <row>
  525. <entry><constant>STEREO | SAP</constant></entry>
  526. <entry>L+R</entry>
  527. <entry>L/R</entry>
  528. <entry>Stereo L/R (preferred) or Mono L+R</entry>
  529. <entry>SAP</entry>
  530. <entry>L+R/SAP (preferred) or L/R or L+R/L+R</entry>
  531. </row>
  532. <row>
  533. <entry><constant>LANG1 | LANG2</constant></entry>
  534. <entry>Language&nbsp;1</entry>
  535. <entry>Lang1/Lang2 (deprecated<footnote><para>Playback of
  536. both languages in <constant>MODE_STEREO</constant> is deprecated. In
  537. the future drivers should produce only the primary language in this
  538. mode. Applications should request
  539. <constant>MODE_LANG1_LANG2</constant> to record both languages or a
  540. stereo signal.</para></footnote>) or
  541. Lang1/Lang1</entry>
  542. <entry>Language&nbsp;1</entry>
  543. <entry>Language&nbsp;2</entry>
  544. <entry>Lang1/Lang2 (preferred) or Lang1/Lang1</entry>
  545. </row>
  546. </tbody>
  547. </tgroup>
  548. </table>
  549. </refsect1>
  550. <refsect1>
  551. &return-value;
  552. <variablelist>
  553. <varlistentry>
  554. <term><errorcode>EINVAL</errorcode></term>
  555. <listitem>
  556. <para>The &v4l2-tuner; <structfield>index</structfield> is
  557. out of bounds.</para>
  558. </listitem>
  559. </varlistentry>
  560. </variablelist>
  561. </refsect1>
  562. </refentry>