SDL-1.2.14
[sdl_omap.git] / docs / html / sdlaudiospec.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >SDL_AudioSpec</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="SDL Library Documentation"
11 HREF="index.html"><LINK
12 REL="UP"
13 TITLE="Audio"
14 HREF="audio.html"><LINK
15 REL="PREVIOUS"
16 TITLE="Audio"
17 HREF="audio.html"><LINK
18 REL="NEXT"
19 TITLE="SDL_OpenAudio"
20 HREF="sdlopenaudio.html"></HEAD
21 ><BODY
22 CLASS="REFENTRY"
23 BGCOLOR="#FFF8DC"
24 TEXT="#000000"
25 LINK="#0000ee"
26 VLINK="#551a8b"
27 ALINK="#ff0000"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >SDL Library Documentation</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="audio.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="sdlopenaudio.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><H1
72 ><A
73 NAME="SDLAUDIOSPEC"
74 ></A
75 >SDL_AudioSpec</H1
76 ><DIV
77 CLASS="REFNAMEDIV"
78 ><A
79 NAME="AEN6507"
80 ></A
81 ><H2
82 >Name</H2
83 >SDL_AudioSpec&nbsp;--&nbsp;Audio Specification Structure</DIV
84 ><DIV
85 CLASS="REFSECT1"
86 ><A
87 NAME="AEN6510"
88 ></A
89 ><H2
90 >Structure Definition</H2
91 ><PRE
92 CLASS="PROGRAMLISTING"
93 >typedef struct{
94   int freq;
95   Uint16 format;
96   Uint8 channels;
97   Uint8 silence;
98   Uint16 samples;
99   Uint32 size;
100   void (*callback)(void *userdata, Uint8 *stream, int len);
101   void *userdata;
102 } SDL_AudioSpec;</PRE
103 ></DIV
104 ><DIV
105 CLASS="REFSECT1"
106 ><A
107 NAME="AEN6513"
108 ></A
109 ><H2
110 >Structure Data</H2
111 ><DIV
112 CLASS="INFORMALTABLE"
113 ><A
114 NAME="AEN6515"
115 ></A
116 ><P
117 ></P
118 ><TABLE
119 BORDER="0"
120 CLASS="CALSTABLE"
121 ><TBODY
122 ><TR
123 ><TD
124 ALIGN="LEFT"
125 VALIGN="TOP"
126 ><TT
127 CLASS="STRUCTFIELD"
128 ><I
129 >freq</I
130 ></TT
131 ></TD
132 ><TD
133 ALIGN="LEFT"
134 VALIGN="TOP"
135 >Audio frequency in samples per second</TD
136 ></TR
137 ><TR
138 ><TD
139 ALIGN="LEFT"
140 VALIGN="TOP"
141 ><TT
142 CLASS="STRUCTFIELD"
143 ><I
144 >format</I
145 ></TT
146 ></TD
147 ><TD
148 ALIGN="LEFT"
149 VALIGN="TOP"
150 >Audio data format</TD
151 ></TR
152 ><TR
153 ><TD
154 ALIGN="LEFT"
155 VALIGN="TOP"
156 ><TT
157 CLASS="STRUCTFIELD"
158 ><I
159 >channels</I
160 ></TT
161 ></TD
162 ><TD
163 ALIGN="LEFT"
164 VALIGN="TOP"
165 >Number of channels: 1 mono, 2 stereo</TD
166 ></TR
167 ><TR
168 ><TD
169 ALIGN="LEFT"
170 VALIGN="TOP"
171 ><TT
172 CLASS="STRUCTFIELD"
173 ><I
174 >silence</I
175 ></TT
176 ></TD
177 ><TD
178 ALIGN="LEFT"
179 VALIGN="TOP"
180 >Audio buffer silence value (calculated)</TD
181 ></TR
182 ><TR
183 ><TD
184 ALIGN="LEFT"
185 VALIGN="TOP"
186 ><TT
187 CLASS="STRUCTFIELD"
188 ><I
189 >samples</I
190 ></TT
191 ></TD
192 ><TD
193 ALIGN="LEFT"
194 VALIGN="TOP"
195 >Audio buffer size in samples</TD
196 ></TR
197 ><TR
198 ><TD
199 ALIGN="LEFT"
200 VALIGN="TOP"
201 ><TT
202 CLASS="STRUCTFIELD"
203 ><I
204 >size</I
205 ></TT
206 ></TD
207 ><TD
208 ALIGN="LEFT"
209 VALIGN="TOP"
210 >Audio buffer size in bytes (calculated)</TD
211 ></TR
212 ><TR
213 ><TD
214 ALIGN="LEFT"
215 VALIGN="TOP"
216 ><TT
217 CLASS="STRUCTFIELD"
218 ><I
219 >callback(..)</I
220 ></TT
221 ></TD
222 ><TD
223 ALIGN="LEFT"
224 VALIGN="TOP"
225 >Callback function for filling the audio buffer</TD
226 ></TR
227 ><TR
228 ><TD
229 ALIGN="LEFT"
230 VALIGN="TOP"
231 ><TT
232 CLASS="STRUCTFIELD"
233 ><I
234 >userdata</I
235 ></TT
236 ></TD
237 ><TD
238 ALIGN="LEFT"
239 VALIGN="TOP"
240 >Pointer the user data which is passed to the callback function</TD
241 ></TR
242 ></TBODY
243 ></TABLE
244 ><P
245 ></P
246 ></DIV
247 ></DIV
248 ><DIV
249 CLASS="REFSECT1"
250 ><A
251 NAME="AEN6550"
252 ></A
253 ><H2
254 >Description</H2
255 ><P
256 >The <SPAN
257 CLASS="STRUCTNAME"
258 >SDL_AudioSpec</SPAN
259 > structure is used to describe the format of some audio data. This structure is used by <A
260 HREF="sdlopenaudio.html"
261 ><TT
262 CLASS="FUNCTION"
263 >SDL_OpenAudio</TT
264 ></A
265 > and <A
266 HREF="sdlloadwav.html"
267 ><TT
268 CLASS="FUNCTION"
269 >SDL_LoadWAV</TT
270 ></A
271 >. While all fields are used by <TT
272 CLASS="FUNCTION"
273 >SDL_OpenAudio</TT
274 > only <TT
275 CLASS="STRUCTFIELD"
276 ><I
277 >freq</I
278 ></TT
279 >, <TT
280 CLASS="STRUCTFIELD"
281 ><I
282 >format</I
283 ></TT
284 >, <TT
285 CLASS="STRUCTFIELD"
286 ><I
287 >samples</I
288 ></TT
289 > and <TT
290 CLASS="STRUCTFIELD"
291 ><I
292 >channels</I
293 ></TT
294 > are used by <TT
295 CLASS="FUNCTION"
296 >SDL_LoadWAV</TT
297 >. We will detail these common members here.</P
298 ><DIV
299 CLASS="INFORMALTABLE"
300 ><A
301 NAME="AEN6564"
302 ></A
303 ><P
304 ></P
305 ><TABLE
306 BORDER="0"
307 CLASS="CALSTABLE"
308 ><TBODY
309 ><TR
310 ><TD
311 ALIGN="LEFT"
312 VALIGN="TOP"
313 ><TT
314 CLASS="STRUCTFIELD"
315 ><I
316 >freq</I
317 ></TT
318 ></TD
319 ><TD
320 ALIGN="LEFT"
321 VALIGN="TOP"
322 ><P
323 >The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better.</P
324 ></TD
325 ></TR
326 ><TR
327 ><TD
328 ALIGN="LEFT"
329 VALIGN="TOP"
330 ><TT
331 CLASS="STRUCTFIELD"
332 ><I
333 >format</I
334 ></TT
335 ></TD
336 ><TD
337 ALIGN="LEFT"
338 VALIGN="TOP"
339 ><P
340 >Specifies the size and type of each sample element
341 <P
342 ></P
343 ><DIV
344 CLASS="VARIABLELIST"
345 ><DL
346 ><DT
347 ><TT
348 CLASS="LITERAL"
349 >AUDIO_U8</TT
350 ></DT
351 ><DD
352 ><P
353 >Unsigned 8-bit samples</P
354 ></DD
355 ><DT
356 ><TT
357 CLASS="LITERAL"
358 >AUDIO_S8</TT
359 ></DT
360 ><DD
361 ><P
362 >Signed 8-bit samples</P
363 ></DD
364 ><DT
365 ><TT
366 CLASS="LITERAL"
367 >AUDIO_U16</TT
368 > or <TT
369 CLASS="LITERAL"
370 >AUDIO_U16LSB</TT
371 ></DT
372 ><DD
373 ><P
374 >Unsigned 16-bit little-endian samples</P
375 ></DD
376 ><DT
377 ><TT
378 CLASS="LITERAL"
379 >AUDIO_S16</TT
380 > or <TT
381 CLASS="LITERAL"
382 >AUDIO_S16LSB</TT
383 ></DT
384 ><DD
385 ><P
386 >Signed 16-bit little-endian samples</P
387 ></DD
388 ><DT
389 ><TT
390 CLASS="LITERAL"
391 >AUDIO_U16MSB</TT
392 ></DT
393 ><DD
394 ><P
395 >Unsigned 16-bit big-endian samples</P
396 ></DD
397 ><DT
398 ><TT
399 CLASS="LITERAL"
400 >AUDIO_S16MSB</TT
401 ></DT
402 ><DD
403 ><P
404 >Signed 16-bit big-endian samples</P
405 ></DD
406 ><DT
407 ><TT
408 CLASS="LITERAL"
409 >AUDIO_U16SYS</TT
410 ></DT
411 ><DD
412 ><P
413 >Either <TT
414 CLASS="LITERAL"
415 >AUDIO_U16LSB</TT
416 > or <TT
417 CLASS="LITERAL"
418 >AUDIO_U16MSB</TT
419 > depending on you systems endianness</P
420 ></DD
421 ><DT
422 ><TT
423 CLASS="LITERAL"
424 >AUDIO_S16SYS</TT
425 ></DT
426 ><DD
427 ><P
428 >Either <TT
429 CLASS="LITERAL"
430 >AUDIO_S16LSB</TT
431 > or <TT
432 CLASS="LITERAL"
433 >AUDIO_S16MSB</TT
434 > depending on you systems endianness</P
435 ></DD
436 ></DL
437 ></DIV
438 ></P
439 ></TD
440 ></TR
441 ><TR
442 ><TD
443 ALIGN="LEFT"
444 VALIGN="TOP"
445 ><TT
446 CLASS="STRUCTFIELD"
447 ><I
448 >channels</I
449 ></TT
450 ></TD
451 ><TD
452 ALIGN="LEFT"
453 VALIGN="TOP"
454 >The number of seperate sound channels. 1 is mono (single channel), 2 is stereo (dual channel).</TD
455 ></TR
456 ><TR
457 ><TD
458 ALIGN="LEFT"
459 VALIGN="TOP"
460 ><TT
461 CLASS="STRUCTFIELD"
462 ><I
463 >samples</I
464 ></TT
465 ></TD
466 ><TD
467 ALIGN="LEFT"
468 VALIGN="TOP"
469 >When used with <A
470 HREF="sdlopenaudio.html"
471 ><TT
472 CLASS="FUNCTION"
473 >SDL_OpenAudio</TT
474 ></A
475 > this refers to the size of the audio buffer in samples. A sample a chunk of audio data of the size specified in <TT
476 CLASS="PARAMETER"
477 ><I
478 >format</I
479 ></TT
480 > mulitplied by the number of channels. When the <SPAN
481 CLASS="STRUCTNAME"
482 >SDL_AudioSpec</SPAN
483 > is used with <A
484 HREF="sdlloadwav.html"
485 ><TT
486 CLASS="FUNCTION"
487 >SDL_LoadWAV</TT
488 ></A
489 > <TT
490 CLASS="STRUCTFIELD"
491 ><I
492 >samples</I
493 ></TT
494 > is set to 4096.</TD
495 ></TR
496 ></TBODY
497 ></TABLE
498 ><P
499 ></P
500 ></DIV
501 ></DIV
502 ><DIV
503 CLASS="REFSECT1"
504 ><A
505 NAME="AEN6639"
506 ></A
507 ><H2
508 >See Also</H2
509 ><P
510 ><A
511 HREF="sdlopenaudio.html"
512 ><TT
513 CLASS="FUNCTION"
514 >SDL_OpenAudio</TT
515 ></A
516 >,
517 <A
518 HREF="sdlloadwav.html"
519 ><TT
520 CLASS="FUNCTION"
521 >SDL_LoadWAV</TT
522 ></A
523 ></P
524 ></DIV
525 ><DIV
526 CLASS="NAVFOOTER"
527 ><HR
528 ALIGN="LEFT"
529 WIDTH="100%"><TABLE
530 SUMMARY="Footer navigation table"
531 WIDTH="100%"
532 BORDER="0"
533 CELLPADDING="0"
534 CELLSPACING="0"
535 ><TR
536 ><TD
537 WIDTH="33%"
538 ALIGN="left"
539 VALIGN="top"
540 ><A
541 HREF="audio.html"
542 ACCESSKEY="P"
543 >Prev</A
544 ></TD
545 ><TD
546 WIDTH="34%"
547 ALIGN="center"
548 VALIGN="top"
549 ><A
550 HREF="index.html"
551 ACCESSKEY="H"
552 >Home</A
553 ></TD
554 ><TD
555 WIDTH="33%"
556 ALIGN="right"
557 VALIGN="top"
558 ><A
559 HREF="sdlopenaudio.html"
560 ACCESSKEY="N"
561 >Next</A
562 ></TD
563 ></TR
564 ><TR
565 ><TD
566 WIDTH="33%"
567 ALIGN="left"
568 VALIGN="top"
569 >Audio</TD
570 ><TD
571 WIDTH="34%"
572 ALIGN="center"
573 VALIGN="top"
574 ><A
575 HREF="audio.html"
576 ACCESSKEY="U"
577 >Up</A
578 ></TD
579 ><TD
580 WIDTH="33%"
581 ALIGN="right"
582 VALIGN="top"
583 >SDL_OpenAudio</TD
584 ></TR
585 ></TABLE
586 ></DIV
587 ></BODY
588 ></HTML
589 >