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 -- 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 >