audio.xml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473
  1. <title>DVB Audio Device</title>
  2. <para>The DVB audio device controls the MPEG2 audio decoder of the DVB hardware. It
  3. can be accessed through <emphasis role="tt">/dev/dvb/adapter0/audio0</emphasis>. Data types and and
  4. ioctl definitions can be accessed by including <emphasis role="tt">linux/dvb/video.h</emphasis> in your
  5. application.
  6. </para>
  7. <para>Please note that some DVB cards don&#8217;t have their own MPEG decoder, which results in
  8. the omission of the audio and video device.
  9. </para>
  10. <section id="audio_data_types">
  11. <title>Audio Data Types</title>
  12. <para>This section describes the structures, data types and defines used when talking to the
  13. audio device.
  14. </para>
  15. <section id="audio_stream_source_t">
  16. <title>audio_stream_source_t</title>
  17. <para>The audio stream source is set through the AUDIO_SELECT_SOURCE call and can take
  18. the following values, depending on whether we are replaying from an internal (demux) or
  19. external (user write) source.
  20. </para>
  21. <programlisting>
  22. typedef enum {
  23. AUDIO_SOURCE_DEMUX,
  24. AUDIO_SOURCE_MEMORY
  25. } audio_stream_source_t;
  26. </programlisting>
  27. <para>AUDIO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
  28. DVR device) as the source of the video stream. If AUDIO_SOURCE_MEMORY
  29. is selected the stream comes from the application through the <emphasis role="tt">write()</emphasis> system
  30. call.
  31. </para>
  32. </section>
  33. <section id="audio_play_state_t">
  34. <title>audio_play_state_t</title>
  35. <para>The following values can be returned by the AUDIO_GET_STATUS call representing the
  36. state of audio playback.
  37. </para>
  38. <programlisting>
  39. typedef enum {
  40. AUDIO_STOPPED,
  41. AUDIO_PLAYING,
  42. AUDIO_PAUSED
  43. } audio_play_state_t;
  44. </programlisting>
  45. </section>
  46. <section id="audio_channel_select_t">
  47. <title>audio_channel_select_t</title>
  48. <para>The audio channel selected via AUDIO_CHANNEL_SELECT is determined by the
  49. following values.
  50. </para>
  51. <programlisting>
  52. typedef enum {
  53. AUDIO_STEREO,
  54. AUDIO_MONO_LEFT,
  55. AUDIO_MONO_RIGHT,
  56. } audio_channel_select_t;
  57. </programlisting>
  58. </section>
  59. <section id="struct_audio_status">
  60. <title>struct audio_status</title>
  61. <para>The AUDIO_GET_STATUS call returns the following structure informing about various
  62. states of the playback operation.
  63. </para>
  64. <programlisting>
  65. typedef struct audio_status {
  66. boolean AV_sync_state;
  67. boolean mute_state;
  68. audio_play_state_t play_state;
  69. audio_stream_source_t stream_source;
  70. audio_channel_select_t channel_select;
  71. boolean bypass_mode;
  72. } audio_status_t;
  73. </programlisting>
  74. </section>
  75. <section id="struct_audio_mixer">
  76. <title>struct audio_mixer</title>
  77. <para>The following structure is used by the AUDIO_SET_MIXER call to set the audio
  78. volume.
  79. </para>
  80. <programlisting>
  81. typedef struct audio_mixer {
  82. unsigned int volume_left;
  83. unsigned int volume_right;
  84. } audio_mixer_t;
  85. </programlisting>
  86. </section>
  87. <section id="audio_encodings">
  88. <title>audio encodings</title>
  89. <para>A call to AUDIO_GET_CAPABILITIES returns an unsigned integer with the following
  90. bits set according to the hardwares capabilities.
  91. </para>
  92. <programlisting>
  93. #define AUDIO_CAP_DTS 1
  94. #define AUDIO_CAP_LPCM 2
  95. #define AUDIO_CAP_MP1 4
  96. #define AUDIO_CAP_MP2 8
  97. #define AUDIO_CAP_MP3 16
  98. #define AUDIO_CAP_AAC 32
  99. #define AUDIO_CAP_OGG 64
  100. #define AUDIO_CAP_SDDS 128
  101. #define AUDIO_CAP_AC3 256
  102. </programlisting>
  103. </section>
  104. <section id="struct_audio_karaoke">
  105. <title>struct audio_karaoke</title>
  106. <para>The ioctl AUDIO_SET_KARAOKE uses the following format:
  107. </para>
  108. <programlisting>
  109. typedef
  110. struct audio_karaoke{
  111. int vocal1;
  112. int vocal2;
  113. int melody;
  114. } audio_karaoke_t;
  115. </programlisting>
  116. <para>If Vocal1 or Vocal2 are non-zero, they get mixed into left and right t at 70% each. If both,
  117. Vocal1 and Vocal2 are non-zero, Vocal1 gets mixed into the left channel and Vocal2 into the
  118. right channel at 100% each. Ff Melody is non-zero, the melody channel gets mixed into left
  119. and right.
  120. </para>
  121. </section>
  122. <section id="audio_attributes">
  123. <title>audio attributes</title>
  124. <para>The following attributes can be set by a call to AUDIO_SET_ATTRIBUTES:
  125. </para>
  126. <programlisting>
  127. typedef uint16_t audio_attributes_t;
  128. /&#x22C6; bits: descr. &#x22C6;/
  129. /&#x22C6; 15-13 audio coding mode (0=ac3, 2=mpeg1, 3=mpeg2ext, 4=LPCM, 6=DTS, &#x22C6;/
  130. /&#x22C6; 12 multichannel extension &#x22C6;/
  131. /&#x22C6; 11-10 audio type (0=not spec, 1=language included) &#x22C6;/
  132. /&#x22C6; 9- 8 audio application mode (0=not spec, 1=karaoke, 2=surround) &#x22C6;/
  133. /&#x22C6; 7- 6 Quantization / DRC (mpeg audio: 1=DRC exists)(lpcm: 0=16bit, &#x22C6;/
  134. /&#x22C6; 5- 4 Sample frequency fs (0=48kHz, 1=96kHz) &#x22C6;/
  135. /&#x22C6; 2- 0 number of audio channels (n+1 channels) &#x22C6;/
  136. </programlisting>
  137. </section></section>
  138. <section id="audio_function_calls">
  139. <title>Audio Function Calls</title>
  140. <section id="audio_fopen">
  141. <title>open()</title>
  142. <para>DESCRIPTION
  143. </para>
  144. <informaltable><tgroup cols="1"><tbody><row><entry
  145. align="char">
  146. <para>This system call opens a named audio device (e.g. /dev/dvb/adapter0/audio0)
  147. for subsequent use. When an open() call has succeeded, the device will be ready
  148. for use. The significance of blocking or non-blocking mode is described in the
  149. documentation for functions where there is a difference. It does not affect the
  150. semantics of the open() call itself. A device opened in blocking mode can later
  151. be put into non-blocking mode (and vice versa) using the F_SETFL command
  152. of the fcntl system call. This is a standard system call, documented in the Linux
  153. manual page for fcntl. Only one user can open the Audio Device in O_RDWR
  154. mode. All other attempts to open the device in this mode will fail, and an error
  155. code will be returned. If the Audio Device is opened in O_RDONLY mode, the
  156. only ioctl call that can be used is AUDIO_GET_STATUS. All other call will
  157. return with an error code.</para>
  158. </entry>
  159. </row></tbody></tgroup></informaltable>
  160. <para>SYNOPSIS
  161. </para>
  162. <informaltable><tgroup cols="1"><tbody><row><entry
  163. align="char">
  164. <para>int open(const char &#x22C6;deviceName, int flags);</para>
  165. </entry>
  166. </row></tbody></tgroup></informaltable>
  167. <para>PARAMETERS
  168. </para>
  169. <informaltable><tgroup cols="2"><tbody><row><entry
  170. align="char">
  171. <para>const char
  172. *deviceName</para>
  173. </entry><entry
  174. align="char">
  175. <para>Name of specific audio device.</para>
  176. </entry>
  177. </row><row><entry
  178. align="char">
  179. <para>int flags</para>
  180. </entry><entry
  181. align="char">
  182. <para>A bit-wise OR of the following flags:</para>
  183. </entry>
  184. </row><row><entry
  185. align="char">
  186. </entry><entry
  187. align="char">
  188. <para>O_RDONLY read-only access</para>
  189. </entry>
  190. </row><row><entry
  191. align="char">
  192. </entry><entry
  193. align="char">
  194. <para>O_RDWR read/write access</para>
  195. </entry>
  196. </row><row><entry
  197. align="char">
  198. </entry><entry
  199. align="char">
  200. <para>O_NONBLOCK open in non-blocking mode</para>
  201. </entry>
  202. </row><row><entry
  203. align="char">
  204. </entry><entry
  205. align="char">
  206. <para>(blocking mode is the default)</para>
  207. </entry>
  208. </row></tbody></tgroup></informaltable>
  209. <para>ERRORS
  210. </para>
  211. <informaltable><tgroup cols="2"><tbody><row><entry
  212. align="char">
  213. <para>ENODEV</para>
  214. </entry><entry
  215. align="char">
  216. <para>Device driver not loaded/available.</para>
  217. </entry>
  218. </row><row><entry
  219. align="char">
  220. <para>EINTERNAL</para>
  221. </entry><entry
  222. align="char">
  223. <para>Internal error.</para>
  224. </entry>
  225. </row><row><entry
  226. align="char">
  227. <para>EBUSY</para>
  228. </entry><entry
  229. align="char">
  230. <para>Device or resource busy.</para>
  231. </entry>
  232. </row><row><entry
  233. align="char">
  234. <para>EINVAL</para>
  235. </entry><entry
  236. align="char">
  237. <para>Invalid argument.</para>
  238. </entry>
  239. </row></tbody></tgroup></informaltable>
  240. </section>
  241. <section id="audio_fclose">
  242. <title>close()</title>
  243. <para>DESCRIPTION
  244. </para>
  245. <informaltable><tgroup cols="1"><tbody><row><entry
  246. align="char">
  247. <para>This system call closes a previously opened audio device.</para>
  248. </entry>
  249. </row></tbody></tgroup></informaltable>
  250. <para>SYNOPSIS
  251. </para>
  252. <informaltable><tgroup cols="1"><tbody><row><entry
  253. align="char">
  254. <para>int close(int fd);</para>
  255. </entry>
  256. </row></tbody></tgroup></informaltable>
  257. <para>PARAMETERS
  258. </para>
  259. <informaltable><tgroup cols="2"><tbody><row><entry
  260. align="char">
  261. <para>int fd</para>
  262. </entry><entry
  263. align="char">
  264. <para>File descriptor returned by a previous call to open().</para>
  265. </entry>
  266. </row></tbody></tgroup></informaltable>
  267. <para>ERRORS
  268. </para>
  269. <informaltable><tgroup cols="2"><tbody><row><entry
  270. align="char">
  271. <para>EBADF</para>
  272. </entry><entry
  273. align="char">
  274. <para>fd is not a valid open file descriptor.</para>
  275. </entry>
  276. </row></tbody></tgroup></informaltable>
  277. </section>
  278. <section id="audio_fwrite">
  279. <title>write()</title>
  280. <para>DESCRIPTION
  281. </para>
  282. <informaltable><tgroup cols="1"><tbody><row><entry
  283. align="char">
  284. <para>This system call can only be used if AUDIO_SOURCE_MEMORY is selected
  285. in the ioctl call AUDIO_SELECT_SOURCE. The data provided shall be in
  286. PES format. If O_NONBLOCK is not specified the function will block until
  287. buffer space is available. The amount of data to be transferred is implied by
  288. count.</para>
  289. </entry>
  290. </row></tbody></tgroup></informaltable>
  291. <para>SYNOPSIS
  292. </para>
  293. <informaltable><tgroup cols="1"><tbody><row><entry
  294. align="char">
  295. <para>size_t write(int fd, const void &#x22C6;buf, size_t count);</para>
  296. </entry>
  297. </row></tbody></tgroup></informaltable>
  298. <para>PARAMETERS
  299. </para>
  300. <informaltable><tgroup cols="2"><tbody><row><entry
  301. align="char">
  302. <para>int fd</para>
  303. </entry><entry
  304. align="char">
  305. <para>File descriptor returned by a previous call to open().</para>
  306. </entry>
  307. </row><row><entry
  308. align="char">
  309. <para>void *buf</para>
  310. </entry><entry
  311. align="char">
  312. <para>Pointer to the buffer containing the PES data.</para>
  313. </entry>
  314. </row><row><entry
  315. align="char">
  316. <para>size_t count</para>
  317. </entry><entry
  318. align="char">
  319. <para>Size of buf.</para>
  320. </entry>
  321. </row></tbody></tgroup></informaltable>
  322. <para>ERRORS
  323. </para>
  324. <informaltable><tgroup cols="2"><tbody><row><entry
  325. align="char">
  326. <para>EPERM</para>
  327. </entry><entry
  328. align="char">
  329. <para>Mode AUDIO_SOURCE_MEMORY not selected.</para>
  330. </entry>
  331. </row><row><entry
  332. align="char">
  333. <para>ENOMEM</para>
  334. </entry><entry
  335. align="char">
  336. <para>Attempted to write more data than the internal buffer can
  337. hold.</para>
  338. </entry>
  339. </row><row><entry
  340. align="char">
  341. <para>EBADF</para>
  342. </entry><entry
  343. align="char">
  344. <para>fd is not a valid open file descriptor.</para>
  345. </entry>
  346. </row></tbody></tgroup></informaltable>
  347. </section><section
  348. role="subsection"><title>AUDIO_STOP</title>
  349. <para>DESCRIPTION
  350. </para>
  351. <informaltable><tgroup cols="1"><tbody><row><entry
  352. align="char">
  353. <para>This ioctl call asks the Audio Device to stop playing the current stream.</para>
  354. </entry>
  355. </row></tbody></tgroup></informaltable>
  356. <para>SYNOPSIS
  357. </para>
  358. <informaltable><tgroup cols="1"><tbody><row><entry
  359. align="char">
  360. <para>int ioctl(int fd, int request = AUDIO_STOP);</para>
  361. </entry>
  362. </row></tbody></tgroup></informaltable>
  363. <para>PARAMETERS
  364. </para>
  365. <informaltable><tgroup cols="2"><tbody><row><entry
  366. align="char">
  367. <para>int fd</para>
  368. </entry><entry
  369. align="char">
  370. <para>File descriptor returned by a previous call to open().</para>
  371. </entry>
  372. </row><row><entry
  373. align="char">
  374. <para>int request</para>
  375. </entry><entry
  376. align="char">
  377. <para>Equals AUDIO_STOP for this command.</para>
  378. </entry>
  379. </row></tbody></tgroup></informaltable>
  380. <para>ERRORS
  381. </para>
  382. <informaltable><tgroup cols="2"><tbody><row><entry
  383. align="char">
  384. <para>EBADF</para>
  385. </entry><entry
  386. align="char">
  387. <para>fd is not a valid open file descriptor</para>
  388. </entry>
  389. </row><row><entry
  390. align="char">
  391. <para>EINTERNAL</para>
  392. </entry><entry
  393. align="char">
  394. <para>Internal error.</para>
  395. </entry>
  396. </row></tbody></tgroup></informaltable>
  397. </section><section
  398. role="subsection"><title>AUDIO_PLAY</title>
  399. <para>DESCRIPTION
  400. </para>
  401. <informaltable><tgroup cols="1"><tbody><row><entry
  402. align="char">
  403. <para>This ioctl call asks the Audio Device to start playing an audio stream from the
  404. selected source.</para>
  405. </entry>
  406. </row></tbody></tgroup></informaltable>
  407. <para>SYNOPSIS
  408. </para>
  409. <informaltable><tgroup cols="1"><tbody><row><entry
  410. align="char">
  411. <para>int ioctl(int fd, int request = AUDIO_PLAY);</para>
  412. </entry>
  413. </row></tbody></tgroup></informaltable>
  414. <para>PARAMETERS
  415. </para>
  416. <informaltable><tgroup cols="2"><tbody><row><entry
  417. align="char">
  418. <para>int fd</para>
  419. </entry><entry
  420. align="char">
  421. <para>File descriptor returned by a previous call to open().</para>
  422. </entry>
  423. </row><row><entry
  424. align="char">
  425. <para>int request</para>
  426. </entry><entry
  427. align="char">
  428. <para>Equals AUDIO_PLAY for this command.</para>
  429. </entry>
  430. </row></tbody></tgroup></informaltable>
  431. <para>ERRORS
  432. </para>
  433. <informaltable><tgroup cols="2"><tbody><row><entry
  434. align="char">
  435. <para>EBADF</para>
  436. </entry><entry
  437. align="char">
  438. <para>fd is not a valid open file descriptor</para>
  439. </entry>
  440. </row><row><entry
  441. align="char">
  442. <para>EINTERNAL</para>
  443. </entry><entry
  444. align="char">
  445. <para>Internal error.</para>
  446. </entry>
  447. </row></tbody></tgroup></informaltable>
  448. </section><section
  449. role="subsection"><title>AUDIO_PAUSE</title>
  450. <para>DESCRIPTION
  451. </para>
  452. <informaltable><tgroup cols="1"><tbody><row><entry
  453. align="char">
  454. <para>This ioctl call suspends the audio stream being played. Decoding and playing
  455. are paused. It is then possible to restart again decoding and playing process of
  456. the audio stream using AUDIO_CONTINUE command.</para>
  457. </entry>
  458. </row><row><entry
  459. align="char">
  460. <para>If AUDIO_SOURCE_MEMORY is selected in the ioctl call
  461. AUDIO_SELECT_SOURCE, the DVB-subsystem will not decode (consume)
  462. any more data until the ioctl call AUDIO_CONTINUE or AUDIO_PLAY is
  463. performed.</para>
  464. </entry>
  465. </row></tbody></tgroup></informaltable>
  466. <para>SYNOPSIS
  467. </para>
  468. <informaltable><tgroup cols="1"><tbody><row><entry
  469. align="char">
  470. <para>int ioctl(int fd, int request = AUDIO_PAUSE);</para>
  471. </entry>
  472. </row></tbody></tgroup></informaltable>
  473. <para>PARAMETERS
  474. </para>
  475. <informaltable><tgroup cols="2"><tbody><row><entry
  476. align="char">
  477. <para>int fd</para>
  478. </entry><entry
  479. align="char">
  480. <para>File descriptor returned by a previous call to open().</para>
  481. </entry>
  482. </row><row><entry
  483. align="char">
  484. <para>int request</para>
  485. </entry><entry
  486. align="char">
  487. <para>Equals AUDIO_PAUSE for this command.</para>
  488. </entry>
  489. </row></tbody></tgroup></informaltable>
  490. <para>ERRORS
  491. </para>
  492. <informaltable><tgroup cols="2"><tbody><row><entry
  493. align="char">
  494. <para>EBADF</para>
  495. </entry><entry
  496. align="char">
  497. <para>fd is not a valid open file descriptor.</para>
  498. </entry>
  499. </row><row><entry
  500. align="char">
  501. <para>EINTERNAL</para>
  502. </entry><entry
  503. align="char">
  504. <para>Internal error.</para>
  505. </entry>
  506. </row></tbody></tgroup></informaltable>
  507. </section><section
  508. role="subsection"><title>AUDIO_SELECT_SOURCE</title>
  509. <para>DESCRIPTION
  510. </para>
  511. <informaltable><tgroup cols="1"><tbody><row><entry
  512. align="char">
  513. <para>This ioctl call informs the audio device which source shall be used
  514. for the input data. The possible sources are demux or memory. If
  515. AUDIO_SOURCE_MEMORY is selected, the data is fed to the Audio Device
  516. through the write command.</para>
  517. </entry>
  518. </row></tbody></tgroup></informaltable>
  519. <para>SYNOPSIS
  520. </para>
  521. <informaltable><tgroup cols="1"><tbody><row><entry
  522. align="char">
  523. <para>int ioctl(int fd, int request = AUDIO_SELECT_SOURCE,
  524. audio_stream_source_t source);</para>
  525. </entry>
  526. </row></tbody></tgroup></informaltable>
  527. <para>PARAMETERS
  528. </para>
  529. <informaltable><tgroup cols="2"><tbody><row><entry
  530. align="char">
  531. <para>int fd</para>
  532. </entry><entry
  533. align="char">
  534. <para>File descriptor returned by a previous call to open().</para>
  535. </entry>
  536. </row><row><entry
  537. align="char">
  538. <para>int request</para>
  539. </entry><entry
  540. align="char">
  541. <para>Equals AUDIO_SELECT_SOURCE for this command.</para>
  542. </entry>
  543. </row><row><entry
  544. align="char">
  545. <para>audio_stream_source_t
  546. source</para>
  547. </entry><entry
  548. align="char">
  549. <para>Indicates the source that shall be used for the Audio
  550. stream.</para>
  551. </entry>
  552. </row></tbody></tgroup></informaltable>
  553. <para>ERRORS
  554. </para>
  555. <informaltable><tgroup cols="2"><tbody><row><entry
  556. align="char">
  557. <para>EBADF</para>
  558. </entry><entry
  559. align="char">
  560. <para>fd is not a valid open file descriptor.</para>
  561. </entry>
  562. </row><row><entry
  563. align="char">
  564. <para>EINTERNAL</para>
  565. </entry><entry
  566. align="char">
  567. <para>Internal error.</para>
  568. </entry>
  569. </row><row><entry
  570. align="char">
  571. <para>EINVAL</para>
  572. </entry><entry
  573. align="char">
  574. <para>Illegal input parameter.</para>
  575. </entry>
  576. </row></tbody></tgroup></informaltable>
  577. </section><section
  578. role="subsection"><title>AUDIO_SET_MUTE</title>
  579. <para>DESCRIPTION
  580. </para>
  581. <informaltable><tgroup cols="1"><tbody><row><entry
  582. align="char">
  583. <para>This ioctl call asks the audio device to mute the stream that is currently being
  584. played.</para>
  585. </entry>
  586. </row></tbody></tgroup></informaltable>
  587. <para>SYNOPSIS
  588. </para>
  589. <informaltable><tgroup cols="1"><tbody><row><entry
  590. align="char">
  591. <para>int ioctl(int fd, int request = AUDIO_SET_MUTE,
  592. boolean state);</para>
  593. </entry>
  594. </row></tbody></tgroup></informaltable>
  595. <para>PARAMETERS
  596. </para>
  597. <informaltable><tgroup cols="2"><tbody><row><entry
  598. align="char">
  599. <para>int fd</para>
  600. </entry><entry
  601. align="char">
  602. <para>File descriptor returned by a previous call to open().</para>
  603. </entry>
  604. </row><row><entry
  605. align="char">
  606. <para>int request</para>
  607. </entry><entry
  608. align="char">
  609. <para>Equals AUDIO_SET_MUTE for this command.</para>
  610. </entry>
  611. </row><row><entry
  612. align="char">
  613. <para>boolean state</para>
  614. </entry><entry
  615. align="char">
  616. <para>Indicates if audio device shall mute or not.</para>
  617. </entry>
  618. </row><row><entry
  619. align="char">
  620. </entry><entry
  621. align="char">
  622. <para>TRUE Audio Mute</para>
  623. </entry>
  624. </row><row><entry
  625. align="char">
  626. </entry><entry
  627. align="char">
  628. <para>FALSE Audio Un-mute</para>
  629. </entry>
  630. </row></tbody></tgroup></informaltable>
  631. <para>ERRORS
  632. </para>
  633. <informaltable><tgroup cols="2"><tbody><row><entry
  634. align="char">
  635. <para>EBADF</para>
  636. </entry><entry
  637. align="char">
  638. <para>fd is not a valid open file descriptor.</para>
  639. </entry>
  640. </row><row><entry
  641. align="char">
  642. <para>EINTERNAL</para>
  643. </entry><entry
  644. align="char">
  645. <para>Internal error.</para>
  646. </entry>
  647. </row><row><entry
  648. align="char">
  649. <para>EINVAL</para>
  650. </entry><entry
  651. align="char">
  652. <para>Illegal input parameter.</para>
  653. </entry>
  654. </row></tbody></tgroup></informaltable>
  655. </section><section
  656. role="subsection"><title>AUDIO_SET_AV_SYNC</title>
  657. <para>DESCRIPTION
  658. </para>
  659. <informaltable><tgroup cols="1"><tbody><row><entry
  660. align="char">
  661. <para>This ioctl call asks the Audio Device to turn ON or OFF A/V synchronization.</para>
  662. </entry>
  663. </row></tbody></tgroup></informaltable>
  664. <para>SYNOPSIS
  665. </para>
  666. <informaltable><tgroup cols="1"><tbody><row><entry
  667. align="char">
  668. <para>int ioctl(int fd, int request = AUDIO_SET_AV_SYNC,
  669. boolean state);</para>
  670. </entry>
  671. </row></tbody></tgroup></informaltable>
  672. <para>PARAMETERS
  673. </para>
  674. <informaltable><tgroup cols="2"><tbody><row><entry
  675. align="char">
  676. <para>int fd</para>
  677. </entry><entry
  678. align="char">
  679. <para>File descriptor returned by a previous call to open().</para>
  680. </entry>
  681. </row><row><entry
  682. align="char">
  683. <para>int request</para>
  684. </entry><entry
  685. align="char">
  686. <para>Equals AUDIO_AV_SYNC for this command.</para>
  687. </entry>
  688. </row><row><entry
  689. align="char">
  690. <para>boolean state</para>
  691. </entry><entry
  692. align="char">
  693. <para>Tells the DVB subsystem if A/V synchronization shall be
  694. ON or OFF.</para>
  695. </entry>
  696. </row><row><entry
  697. align="char">
  698. </entry><entry
  699. align="char">
  700. <para>TRUE AV-sync ON</para>
  701. </entry>
  702. </row><row><entry
  703. align="char">
  704. </entry><entry
  705. align="char">
  706. <para>FALSE AV-sync OFF</para>
  707. </entry>
  708. </row></tbody></tgroup></informaltable>
  709. <para>ERRORS
  710. </para>
  711. <informaltable><tgroup cols="2"><tbody><row><entry
  712. align="char">
  713. <para>EBADF</para>
  714. </entry><entry
  715. align="char">
  716. <para>fd is not a valid open file descriptor.</para>
  717. </entry>
  718. </row><row><entry
  719. align="char">
  720. <para>EINTERNAL</para>
  721. </entry><entry
  722. align="char">
  723. <para>Internal error.</para>
  724. </entry>
  725. </row><row><entry
  726. align="char">
  727. <para>EINVAL</para>
  728. </entry><entry
  729. align="char">
  730. <para>Illegal input parameter.</para>
  731. </entry>
  732. </row></tbody></tgroup></informaltable>
  733. </section><section
  734. role="subsection"><title>AUDIO_SET_BYPASS_MODE</title>
  735. <para>DESCRIPTION
  736. </para>
  737. <informaltable><tgroup cols="1"><tbody><row><entry
  738. align="char">
  739. <para>This ioctl call asks the Audio Device to bypass the Audio decoder and forward
  740. the stream without decoding. This mode shall be used if streams that can&#8217;t be
  741. handled by the DVB system shall be decoded. Dolby DigitalTM streams are
  742. automatically forwarded by the DVB subsystem if the hardware can handle it.</para>
  743. </entry>
  744. </row></tbody></tgroup></informaltable>
  745. <para>SYNOPSIS
  746. </para>
  747. <informaltable><tgroup cols="1"><tbody><row><entry
  748. align="char">
  749. <para>int ioctl(int fd, int request =
  750. AUDIO_SET_BYPASS_MODE, boolean mode);</para>
  751. </entry>
  752. </row></tbody></tgroup></informaltable>
  753. <para>PARAMETERS
  754. </para>
  755. <informaltable><tgroup cols="2"><tbody><row><entry
  756. align="char">
  757. <para>int fd</para>
  758. </entry><entry
  759. align="char">
  760. <para>File descriptor returned by a previous call to open().</para>
  761. </entry>
  762. </row><row><entry
  763. align="char">
  764. <para>int request</para>
  765. </entry><entry
  766. align="char">
  767. <para>Equals AUDIO_SET_BYPASS_MODE for this
  768. command.</para>
  769. </entry>
  770. </row><row><entry
  771. align="char">
  772. <para>boolean mode</para>
  773. </entry><entry
  774. align="char">
  775. <para>Enables or disables the decoding of the current Audio
  776. stream in the DVB subsystem.</para>
  777. </entry>
  778. </row><row><entry
  779. align="char">
  780. </entry><entry
  781. align="char">
  782. <para>TRUE Bypass is disabled</para>
  783. </entry>
  784. </row><row><entry
  785. align="char">
  786. </entry><entry
  787. align="char">
  788. <para>FALSE Bypass is enabled</para>
  789. </entry>
  790. </row></tbody></tgroup></informaltable>
  791. <para>ERRORS
  792. </para>
  793. <informaltable><tgroup cols="2"><tbody><row><entry
  794. align="char">
  795. <para>EBADF</para>
  796. </entry><entry
  797. align="char">
  798. <para>fd is not a valid open file descriptor.</para>
  799. </entry>
  800. </row><row><entry
  801. align="char">
  802. <para>EINTERNAL</para>
  803. </entry><entry
  804. align="char">
  805. <para>Internal error.</para>
  806. </entry>
  807. </row><row><entry
  808. align="char">
  809. <para>EINVAL</para>
  810. </entry><entry
  811. align="char">
  812. <para>Illegal input parameter.</para>
  813. </entry>
  814. </row></tbody></tgroup></informaltable>
  815. </section><section
  816. role="subsection"><title>AUDIO_CHANNEL_SELECT</title>
  817. <para>DESCRIPTION
  818. </para>
  819. <informaltable><tgroup cols="1"><tbody><row><entry
  820. align="char">
  821. <para>This ioctl call asks the Audio Device to select the requested channel if possible.</para>
  822. </entry>
  823. </row></tbody></tgroup></informaltable>
  824. <para>SYNOPSIS
  825. </para>
  826. <informaltable><tgroup cols="1"><tbody><row><entry
  827. align="char">
  828. <para>int ioctl(int fd, int request =
  829. AUDIO_CHANNEL_SELECT, audio_channel_select_t);</para>
  830. </entry>
  831. </row></tbody></tgroup></informaltable>
  832. <para>PARAMETERS
  833. </para>
  834. <informaltable><tgroup cols="2"><tbody><row><entry
  835. align="char">
  836. <para>int fd</para>
  837. </entry><entry
  838. align="char">
  839. <para>File descriptor returned by a previous call to open().</para>
  840. </entry>
  841. </row><row><entry
  842. align="char">
  843. <para>int request</para>
  844. </entry><entry
  845. align="char">
  846. <para>Equals AUDIO_CHANNEL_SELECT for this
  847. command.</para>
  848. </entry>
  849. </row><row><entry
  850. align="char">
  851. <para>audio_channel_select_t
  852. ch</para>
  853. </entry><entry
  854. align="char">
  855. <para>Select the output format of the audio (mono left/right,
  856. stereo).</para>
  857. </entry>
  858. </row></tbody></tgroup></informaltable>
  859. <para>ERRORS
  860. </para>
  861. <informaltable><tgroup cols="2"><tbody><row><entry
  862. align="char">
  863. <para>EBADF</para>
  864. </entry><entry
  865. align="char">
  866. <para>fd is not a valid open file descriptor.</para>
  867. </entry>
  868. </row><row><entry
  869. align="char">
  870. <para>EINTERNAL</para>
  871. </entry><entry
  872. align="char">
  873. <para>Internal error.</para>
  874. </entry>
  875. </row><row><entry
  876. align="char">
  877. <para>EINVAL</para>
  878. </entry><entry
  879. align="char">
  880. <para>Illegal input parameter ch.</para>
  881. </entry>
  882. </row></tbody></tgroup></informaltable>
  883. </section><section
  884. role="subsection"><title>AUDIO_GET_STATUS</title>
  885. <para>DESCRIPTION
  886. </para>
  887. <informaltable><tgroup cols="1"><tbody><row><entry
  888. align="char">
  889. <para>This ioctl call asks the Audio Device to return the current state of the Audio
  890. Device.</para>
  891. </entry>
  892. </row></tbody></tgroup></informaltable>
  893. <para>SYNOPSIS
  894. </para>
  895. <informaltable><tgroup cols="1"><tbody><row><entry
  896. align="char">
  897. <para>int ioctl(int fd, int request = AUDIO_GET_STATUS,
  898. struct audio_status &#x22C6;status);</para>
  899. </entry>
  900. </row></tbody></tgroup></informaltable>
  901. <para>PARAMETERS
  902. </para>
  903. <informaltable><tgroup cols="2"><tbody><row><entry
  904. align="char">
  905. <para>int fd</para>
  906. </entry><entry
  907. align="char">
  908. <para>File descriptor returned by a previous call to open().</para>
  909. </entry>
  910. </row><row><entry
  911. align="char">
  912. <para>int request</para>
  913. </entry><entry
  914. align="char">
  915. <para>Equals AUDIO_GET_STATUS for this command.</para>
  916. </entry>
  917. </row><row><entry
  918. align="char">
  919. <para>struct audio_status
  920. *status</para>
  921. </entry><entry
  922. align="char">
  923. <para>Returns the current state of Audio Device.</para>
  924. </entry>
  925. </row></tbody></tgroup></informaltable>
  926. <para>ERRORS
  927. </para>
  928. <informaltable><tgroup cols="2"><tbody><row><entry
  929. align="char">
  930. <para>EBADF</para>
  931. </entry><entry
  932. align="char">
  933. <para>fd is not a valid open file descriptor.</para>
  934. </entry>
  935. </row><row><entry
  936. align="char">
  937. <para>EINTERNAL</para>
  938. </entry><entry
  939. align="char">
  940. <para>Internal error.</para>
  941. </entry>
  942. </row><row><entry
  943. align="char">
  944. <para>EFAULT</para>
  945. </entry><entry
  946. align="char">
  947. <para>status points to invalid address.</para>
  948. </entry>
  949. </row></tbody></tgroup></informaltable>
  950. </section><section
  951. role="subsection"><title>AUDIO_GET_CAPABILITIES</title>
  952. <para>DESCRIPTION
  953. </para>
  954. <informaltable><tgroup cols="1"><tbody><row><entry
  955. align="char">
  956. <para>This ioctl call asks the Audio Device to tell us about the decoding capabilities
  957. of the audio hardware.</para>
  958. </entry>
  959. </row></tbody></tgroup></informaltable>
  960. <para>SYNOPSIS
  961. </para>
  962. <informaltable><tgroup cols="1"><tbody><row><entry
  963. align="char">
  964. <para>int ioctl(int fd, int request =
  965. AUDIO_GET_CAPABILITIES, unsigned int &#x22C6;cap);</para>
  966. </entry>
  967. </row></tbody></tgroup></informaltable>
  968. <para>PARAMETERS
  969. </para>
  970. <informaltable><tgroup cols="2"><tbody><row><entry
  971. align="char">
  972. <para>int fd</para>
  973. </entry><entry
  974. align="char">
  975. <para>File descriptor returned by a previous call to open().</para>
  976. </entry>
  977. </row><row><entry
  978. align="char">
  979. <para>int request</para>
  980. </entry><entry
  981. align="char">
  982. <para>Equals AUDIO_GET_CAPABILITIES for this
  983. command.</para>
  984. </entry>
  985. </row><row><entry
  986. align="char">
  987. <para>unsigned int *cap</para>
  988. </entry><entry
  989. align="char">
  990. <para>Returns a bit array of supported sound formats.</para>
  991. </entry>
  992. </row></tbody></tgroup></informaltable>
  993. <para>ERRORS
  994. </para>
  995. <informaltable><tgroup cols="2"><tbody><row><entry
  996. align="char">
  997. <para>EBADF</para>
  998. </entry><entry
  999. align="char">
  1000. <para>fd is not a valid open file descriptor.</para>
  1001. </entry>
  1002. </row><row><entry
  1003. align="char">
  1004. <para>EINTERNAL</para>
  1005. </entry><entry
  1006. align="char">
  1007. <para>Internal error.</para>
  1008. </entry>
  1009. </row><row><entry
  1010. align="char">
  1011. <para>EFAULT</para>
  1012. </entry><entry
  1013. align="char">
  1014. <para>cap points to an invalid address.</para>
  1015. </entry>
  1016. </row></tbody></tgroup></informaltable>
  1017. </section><section
  1018. role="subsection"><title>AUDIO_CLEAR_BUFFER</title>
  1019. <para>DESCRIPTION
  1020. </para>
  1021. <informaltable><tgroup cols="1"><tbody><row><entry
  1022. align="char">
  1023. <para>This ioctl call asks the Audio Device to clear all software and hardware buffers
  1024. of the audio decoder device.</para>
  1025. </entry>
  1026. </row></tbody></tgroup></informaltable>
  1027. <para>SYNOPSIS
  1028. </para>
  1029. <informaltable><tgroup cols="1"><tbody><row><entry
  1030. align="char">
  1031. <para>int ioctl(int fd, int request = AUDIO_CLEAR_BUFFER);</para>
  1032. </entry>
  1033. </row></tbody></tgroup></informaltable>
  1034. <para>PARAMETERS
  1035. </para>
  1036. <informaltable><tgroup cols="2"><tbody><row><entry
  1037. align="char">
  1038. <para>int fd</para>
  1039. </entry><entry
  1040. align="char">
  1041. <para>File descriptor returned by a previous call to open().</para>
  1042. </entry>
  1043. </row><row><entry
  1044. align="char">
  1045. <para>int request</para>
  1046. </entry><entry
  1047. align="char">
  1048. <para>Equals AUDIO_CLEAR_BUFFER for this command.</para>
  1049. </entry>
  1050. </row></tbody></tgroup></informaltable>
  1051. <para>ERRORS
  1052. </para>
  1053. <informaltable><tgroup cols="2"><tbody><row><entry
  1054. align="char">
  1055. <para>EBADF</para>
  1056. </entry><entry
  1057. align="char">
  1058. <para>fd is not a valid open file descriptor.</para>
  1059. </entry>
  1060. </row><row><entry
  1061. align="char">
  1062. <para>EINTERNAL</para>
  1063. </entry><entry
  1064. align="char">
  1065. <para>Internal error.</para>
  1066. </entry>
  1067. </row></tbody></tgroup></informaltable>
  1068. </section><section
  1069. role="subsection"><title>AUDIO_SET_ID</title>
  1070. <para>DESCRIPTION
  1071. </para>
  1072. <informaltable><tgroup cols="1"><tbody><row><entry
  1073. align="char">
  1074. <para>This ioctl selects which sub-stream is to be decoded if a program or system
  1075. stream is sent to the video device. If no audio stream type is set the id has to be
  1076. in [0xC0,0xDF] for MPEG sound, in [0x80,0x87] for AC3 and in [0xA0,0xA7]
  1077. for LPCM. More specifications may follow for other stream types. If the stream
  1078. type is set the id just specifies the substream id of the audio stream and only
  1079. the first 5 bits are recognized.</para>
  1080. </entry>
  1081. </row></tbody></tgroup></informaltable>
  1082. <para>SYNOPSIS
  1083. </para>
  1084. <informaltable><tgroup cols="1"><tbody><row><entry
  1085. align="char">
  1086. <para>int ioctl(int fd, int request = AUDIO_SET_ID, int
  1087. id);</para>
  1088. </entry>
  1089. </row></tbody></tgroup></informaltable>
  1090. <para>PARAMETERS
  1091. </para>
  1092. <informaltable><tgroup cols="2"><tbody><row><entry
  1093. align="char">
  1094. <para>int fd</para>
  1095. </entry><entry
  1096. align="char">
  1097. <para>File descriptor returned by a previous call to open().</para>
  1098. </entry>
  1099. </row><row><entry
  1100. align="char">
  1101. <para>int request</para>
  1102. </entry><entry
  1103. align="char">
  1104. <para>Equals AUDIO_SET_ID for this command.</para>
  1105. </entry>
  1106. </row><row><entry
  1107. align="char">
  1108. <para>int id</para>
  1109. </entry><entry
  1110. align="char">
  1111. <para>audio sub-stream id</para>
  1112. </entry>
  1113. </row></tbody></tgroup></informaltable>
  1114. <para>ERRORS
  1115. </para>
  1116. <informaltable><tgroup cols="2"><tbody><row><entry
  1117. align="char">
  1118. <para>EBADF</para>
  1119. </entry><entry
  1120. align="char">
  1121. <para>fd is not a valid open file descriptor.</para>
  1122. </entry>
  1123. </row><row><entry
  1124. align="char">
  1125. <para>EINTERNAL</para>
  1126. </entry><entry
  1127. align="char">
  1128. <para>Internal error.</para>
  1129. </entry>
  1130. </row><row><entry
  1131. align="char">
  1132. <para>EINVAL</para>
  1133. </entry><entry
  1134. align="char">
  1135. <para>Invalid sub-stream id.</para>
  1136. </entry>
  1137. </row></tbody></tgroup></informaltable>
  1138. </section><section
  1139. role="subsection"><title>AUDIO_SET_MIXER</title>
  1140. <para>DESCRIPTION
  1141. </para>
  1142. <informaltable><tgroup cols="1"><tbody><row><entry
  1143. align="char">
  1144. <para>This ioctl lets you adjust the mixer settings of the audio decoder.</para>
  1145. </entry>
  1146. </row></tbody></tgroup></informaltable>
  1147. <para>SYNOPSIS
  1148. </para>
  1149. <informaltable><tgroup cols="1"><tbody><row><entry
  1150. align="char">
  1151. <para>int ioctl(int fd, int request = AUDIO_SET_MIXER,
  1152. audio_mixer_t &#x22C6;mix);</para>
  1153. </entry>
  1154. </row></tbody></tgroup></informaltable>
  1155. <para>PARAMETERS
  1156. </para>
  1157. <informaltable><tgroup cols="2"><tbody><row><entry
  1158. align="char">
  1159. <para>int fd</para>
  1160. </entry><entry
  1161. align="char">
  1162. <para>File descriptor returned by a previous call to open().</para>
  1163. </entry>
  1164. </row><row><entry
  1165. align="char">
  1166. <para>int request</para>
  1167. </entry><entry
  1168. align="char">
  1169. <para>Equals AUDIO_SET_ID for this command.</para>
  1170. </entry>
  1171. </row><row><entry
  1172. align="char">
  1173. <para>audio_mixer_t *mix</para>
  1174. </entry><entry
  1175. align="char">
  1176. <para>mixer settings.</para>
  1177. </entry>
  1178. </row></tbody></tgroup></informaltable>
  1179. <para>ERRORS
  1180. </para>
  1181. <informaltable><tgroup cols="2"><tbody><row><entry
  1182. align="char">
  1183. <para>EBADF</para>
  1184. </entry><entry
  1185. align="char">
  1186. <para>fd is not a valid open file descriptor.</para>
  1187. </entry>
  1188. </row><row><entry
  1189. align="char">
  1190. <para>EINTERNAL</para>
  1191. </entry><entry
  1192. align="char">
  1193. <para>Internal error.</para>
  1194. </entry>
  1195. </row><row><entry
  1196. align="char">
  1197. <para>EFAULT</para>
  1198. </entry><entry
  1199. align="char">
  1200. <para>mix points to an invalid address.</para>
  1201. </entry>
  1202. </row></tbody></tgroup></informaltable>
  1203. </section><section
  1204. role="subsection"><title>AUDIO_SET_STREAMTYPE</title>
  1205. <para>DESCRIPTION
  1206. </para>
  1207. <informaltable><tgroup cols="1"><tbody><row><entry
  1208. align="char">
  1209. <para>This ioctl tells the driver which kind of audio stream to expect. This is useful
  1210. if the stream offers several audio sub-streams like LPCM and AC3.</para>
  1211. </entry>
  1212. </row></tbody></tgroup></informaltable>
  1213. <para>SYNOPSIS
  1214. </para>
  1215. <informaltable><tgroup cols="1"><tbody><row><entry
  1216. align="char">
  1217. <para>int ioctl(fd, int request = AUDIO_SET_STREAMTYPE,
  1218. int type);</para>
  1219. </entry>
  1220. </row></tbody></tgroup></informaltable>
  1221. <para>PARAMETERS
  1222. </para>
  1223. <informaltable><tgroup cols="2"><tbody><row><entry
  1224. align="char">
  1225. <para>int fd</para>
  1226. </entry><entry
  1227. align="char">
  1228. <para>File descriptor returned by a previous call to open().</para>
  1229. </entry>
  1230. </row><row><entry
  1231. align="char">
  1232. <para>int request</para>
  1233. </entry><entry
  1234. align="char">
  1235. <para>Equals AUDIO_SET_STREAMTYPE for this
  1236. command.</para>
  1237. </entry>
  1238. </row><row><entry
  1239. align="char">
  1240. <para>int type</para>
  1241. </entry><entry
  1242. align="char">
  1243. <para>stream type</para>
  1244. </entry>
  1245. </row></tbody></tgroup></informaltable>
  1246. <para>ERRORS
  1247. </para>
  1248. <informaltable><tgroup cols="2"><tbody><row><entry
  1249. align="char">
  1250. <para>EBADF</para>
  1251. </entry><entry
  1252. align="char">
  1253. <para>fd is not a valid open file descriptor</para>
  1254. </entry>
  1255. </row><row><entry
  1256. align="char">
  1257. <para>EINVAL</para>
  1258. </entry><entry
  1259. align="char">
  1260. <para>type is not a valid or supported stream type.</para>
  1261. </entry>
  1262. </row></tbody></tgroup></informaltable>
  1263. </section><section
  1264. role="subsection"><title>AUDIO_SET_EXT_ID</title>
  1265. <para>DESCRIPTION
  1266. </para>
  1267. <informaltable><tgroup cols="1"><tbody><row><entry
  1268. align="char">
  1269. <para>This ioctl can be used to set the extension id for MPEG streams in DVD
  1270. playback. Only the first 3 bits are recognized.</para>
  1271. </entry>
  1272. </row></tbody></tgroup></informaltable>
  1273. <para>SYNOPSIS
  1274. </para>
  1275. <informaltable><tgroup cols="1"><tbody><row><entry
  1276. align="char">
  1277. <para>int ioctl(fd, int request = AUDIO_SET_EXT_ID, int
  1278. id);</para>
  1279. </entry>
  1280. </row></tbody></tgroup></informaltable>
  1281. <para>PARAMETERS
  1282. </para>
  1283. <informaltable><tgroup cols="2"><tbody><row><entry
  1284. align="char">
  1285. <para>int fd</para>
  1286. </entry><entry
  1287. align="char">
  1288. <para>File descriptor returned by a previous call to open().</para>
  1289. </entry>
  1290. </row><row><entry
  1291. align="char">
  1292. <para>int request</para>
  1293. </entry><entry
  1294. align="char">
  1295. <para>Equals AUDIO_SET_EXT_ID for this command.</para>
  1296. </entry>
  1297. </row><row><entry
  1298. align="char">
  1299. <para>int id</para>
  1300. </entry><entry
  1301. align="char">
  1302. <para>audio sub_stream_id</para>
  1303. </entry>
  1304. </row></tbody></tgroup></informaltable>
  1305. <para>ERRORS
  1306. </para>
  1307. <informaltable><tgroup cols="2"><tbody><row><entry
  1308. align="char">
  1309. <para>EBADF</para>
  1310. </entry><entry
  1311. align="char">
  1312. <para>fd is not a valid open file descriptor</para>
  1313. </entry>
  1314. </row><row><entry
  1315. align="char">
  1316. <para>EINVAL</para>
  1317. </entry><entry
  1318. align="char">
  1319. <para>id is not a valid id.</para>
  1320. </entry>
  1321. </row></tbody></tgroup></informaltable>
  1322. </section><section
  1323. role="subsection"><title>AUDIO_SET_ATTRIBUTES</title>
  1324. <para>DESCRIPTION
  1325. </para>
  1326. <informaltable><tgroup cols="1"><tbody><row><entry
  1327. align="char">
  1328. <para>This ioctl is intended for DVD playback and allows you to set certain
  1329. information about the audio stream.</para>
  1330. </entry>
  1331. </row></tbody></tgroup></informaltable>
  1332. <para>SYNOPSIS
  1333. </para>
  1334. <informaltable><tgroup cols="1"><tbody><row><entry
  1335. align="char">
  1336. <para>int ioctl(fd, int request = AUDIO_SET_ATTRIBUTES,
  1337. audio_attributes_t attr );</para>
  1338. </entry>
  1339. </row></tbody></tgroup></informaltable>
  1340. <para>PARAMETERS
  1341. </para>
  1342. <informaltable><tgroup cols="2"><tbody><row><entry
  1343. align="char">
  1344. <para>int fd</para>
  1345. </entry><entry
  1346. align="char">
  1347. <para>File descriptor returned by a previous call to open().</para>
  1348. </entry>
  1349. </row><row><entry
  1350. align="char">
  1351. <para>int request</para>
  1352. </entry><entry
  1353. align="char">
  1354. <para>Equals AUDIO_SET_ATTRIBUTES for this command.</para>
  1355. </entry>
  1356. </row><row><entry
  1357. align="char">
  1358. <para>audio_attributes_t
  1359. attr</para>
  1360. </entry><entry
  1361. align="char">
  1362. <para>audio attributes according to section ??</para>
  1363. </entry>
  1364. </row></tbody></tgroup></informaltable>
  1365. <para>ERRORS
  1366. </para>
  1367. <informaltable><tgroup cols="2"><tbody><row><entry
  1368. align="char">
  1369. <para>EBADF</para>
  1370. </entry><entry
  1371. align="char">
  1372. <para>fd is not a valid open file descriptor</para>
  1373. </entry>
  1374. </row><row><entry
  1375. align="char">
  1376. <para>EINVAL</para>
  1377. </entry><entry
  1378. align="char">
  1379. <para>attr is not a valid or supported attribute setting.</para>
  1380. </entry>
  1381. </row></tbody></tgroup></informaltable>
  1382. </section><section
  1383. role="subsection"><title>AUDIO_SET_KARAOKE</title>
  1384. <para>DESCRIPTION
  1385. </para>
  1386. <informaltable><tgroup cols="1"><tbody><row><entry
  1387. align="char">
  1388. <para>This ioctl allows one to set the mixer settings for a karaoke DVD.</para>
  1389. </entry>
  1390. </row></tbody></tgroup></informaltable>
  1391. <para>SYNOPSIS
  1392. </para>
  1393. <informaltable><tgroup cols="1"><tbody><row><entry
  1394. align="char">
  1395. <para>int ioctl(fd, int request = AUDIO_SET_STREAMTYPE,
  1396. audio_karaoke_t &#x22C6;karaoke);</para>
  1397. </entry>
  1398. </row></tbody></tgroup></informaltable>
  1399. <para>PARAMETERS
  1400. </para>
  1401. <informaltable><tgroup cols="2"><tbody><row><entry
  1402. align="char">
  1403. <para>int fd</para>
  1404. </entry><entry
  1405. align="char">
  1406. <para>File descriptor returned by a previous call to open().</para>
  1407. </entry>
  1408. </row><row><entry
  1409. align="char">
  1410. <para>int request</para>
  1411. </entry><entry
  1412. align="char">
  1413. <para>Equals AUDIO_SET_STREAMTYPE for this
  1414. command.</para>
  1415. </entry>
  1416. </row><row><entry
  1417. align="char">
  1418. <para>audio_karaoke_t
  1419. *karaoke</para>
  1420. </entry><entry
  1421. align="char">
  1422. <para>karaoke settings according to section ??.</para>
  1423. </entry>
  1424. </row></tbody></tgroup></informaltable>
  1425. <para>ERRORS
  1426. </para>
  1427. <informaltable><tgroup cols="2"><tbody><row><entry
  1428. align="char">
  1429. <para>EBADF</para>
  1430. </entry><entry
  1431. align="char">
  1432. <para>fd is not a valid open file descriptor</para>
  1433. </entry>
  1434. </row><row><entry
  1435. align="char">
  1436. <para>EINVAL</para>
  1437. </entry><entry
  1438. align="char">
  1439. <para>karaoke is not a valid or supported karaoke setting.</para>
  1440. </entry>
  1441. </row></tbody></tgroup></informaltable>
  1442. </section>
  1443. </section>