SDL_AudioSpec
Name
SDL_AudioSpec -- Audio Specification Structure
Structure Definition
typedef struct{
int freq;
Uint16 format;
Uint8 channels;
Uint8 silence;
Uint16 samples;
Uint32 size;
void (*callback)(void *userdata, Uint8 *stream, int len);
void *userdata;
} SDL_AudioSpec;
Structure Data
freq |
Audio frequency in samples per second |
format |
Audio data format |
channels |
Number of channels: 1 mono, 2 stereo, 4 surround, 6 surround with center and lfe |
silence |
Audio buffer silence value (calculated) |
samples |
Audio buffer size in samples |
size |
Audio buffer size in bytes (calculated) |
callback(..) |
Callback function for filling the audio buffer |
userdata |
Pointer the user data which is passed to the callback function |
Description
The SDL_AudioSpec structure is used to describe the format of some audio data. This structure is used by SDL_OpenAudio and SDL_LoadWAV. While all fields are used by SDL_OpenAudio, only freq, format, samples and channels are used by SDL_LoadWAV. We will detail these common members here.
freq |
The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better. |
|
format |
Specifies the size and type of each sample element. Values it can take are: |
|
AUDIO_U8 |
Unsigned 8-bit samples. |
|
AUDIO_S8 |
Signed 8-bit samples. |
|
AUDIO_U16 or AUDIO_U16LSB |
not supported by all hardware (unsigned 16-bit little-endian) |
|
AUDIO_S16 or AUDIO_S16LSB |
not supported by all hardware (signed 16-bit little-endian) |
|
AUDIO_U16MSB |
not supported by all hardware (unsigned 16-bit big-endian) |
|
AUDIO_S16MSB |
not supported by all hardware (signed 16-bit big-endian) |
|
AUDIO_U16SYS |
Either AUDIO_U16LSB or AUDIO_U16MSB depending on hardware CPU endianness |
|
AUDIO_S16SYS |
Either AUDIO_S16LSB or AUDIO_S16MSB depending on hardware CPU endianness |
|
channels |
The number of separate sound channels. 1 is mono (single channel), 2 is stereo (dual channel). |
|
samples |
When used with SDL_OpenAudio this refers to the size of the audio buffer in samples. A sample is a chunk of audio data of the size specified in format multiplied by the number of channels. When the SDL_AudioSpec is used with SDL_LoadWAV samples is set to 4096. |
|
