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