71 #define SDL_AUDIO_MASK_BITSIZE (0xFF)
72 #define SDL_AUDIO_MASK_DATATYPE (1<<8)
73 #define SDL_AUDIO_MASK_ENDIAN (1<<12)
74 #define SDL_AUDIO_MASK_SIGNED (1<<15)
75 #define SDL_AUDIO_BITSIZE(x) (x & SDL_AUDIO_MASK_BITSIZE)
76 #define SDL_AUDIO_ISFLOAT(x) (x & SDL_AUDIO_MASK_DATATYPE)
77 #define SDL_AUDIO_ISBIGENDIAN(x) (x & SDL_AUDIO_MASK_ENDIAN)
78 #define SDL_AUDIO_ISSIGNED(x) (x & SDL_AUDIO_MASK_SIGNED)
79 #define SDL_AUDIO_ISINT(x) (!SDL_AUDIO_ISFLOAT(x))
80 #define SDL_AUDIO_ISLITTLEENDIAN(x) (!SDL_AUDIO_ISBIGENDIAN(x))
81 #define SDL_AUDIO_ISUNSIGNED(x) (!SDL_AUDIO_ISSIGNED(x))
89 #define AUDIO_U8 0x0008
90 #define AUDIO_S8 0x8008
91 #define AUDIO_U16LSB 0x0010
92 #define AUDIO_S16LSB 0x8010
93 #define AUDIO_U16MSB 0x1010
94 #define AUDIO_S16MSB 0x9010
95 #define AUDIO_U16 AUDIO_U16LSB
96 #define AUDIO_S16 AUDIO_S16LSB
103 #define AUDIO_S32LSB 0x8020
104 #define AUDIO_S32MSB 0x9020
105 #define AUDIO_S32 AUDIO_S32LSB
112 #define AUDIO_F32LSB 0x8120
113 #define AUDIO_F32MSB 0x9120
114 #define AUDIO_F32 AUDIO_F32LSB
121 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
122 #define AUDIO_U16SYS AUDIO_U16LSB
123 #define AUDIO_S16SYS AUDIO_S16LSB
124 #define AUDIO_S32SYS AUDIO_S32LSB
125 #define AUDIO_F32SYS AUDIO_F32LSB
127 #define AUDIO_U16SYS AUDIO_U16MSB
128 #define AUDIO_S16SYS AUDIO_S16MSB
129 #define AUDIO_S32SYS AUDIO_S32MSB
130 #define AUDIO_F32SYS AUDIO_F32MSB
140 #define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE 0x00000001
141 #define SDL_AUDIO_ALLOW_FORMAT_CHANGE 0x00000002
142 #define SDL_AUDIO_ALLOW_CHANNELS_CHANGE 0x00000004
143 #define SDL_AUDIO_ALLOW_ANY_CHANGE (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE)
159 typedef void (SDLCALL * SDL_AudioCallback) (
void *userdata,
Uint8 * stream,
174 SDL_AudioCallback callback;
181 SDL_AudioFormat format);
192 #define SDL_AUDIOCVT_PACKED __attribute__((packed))
194 #define SDL_AUDIOCVT_PACKED
222 extern DECLSPEC
int SDLCALL SDL_GetNumAudioDrivers(
void);
223 extern DECLSPEC
const char *SDLCALL SDL_GetAudioDriver(
int index);
234 extern DECLSPEC
int SDLCALL SDL_AudioInit(
const char *driver_name);
235 extern DECLSPEC
void SDLCALL SDL_AudioQuit(
void);
365 SDL_AUDIO_STOPPED = 0,
369 extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioStatus(
void);
371 extern DECLSPEC SDL_AudioStatus SDLCALL
372 SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
385 extern DECLSPEC
void SDLCALL SDL_PauseAudio(
int pause_on);
386 extern DECLSPEC
void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
419 #define SDL_LoadWAV(file, spec, audio_buf, audio_len) \
420 SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
437 SDL_AudioFormat src_format,
440 SDL_AudioFormat dst_format,
456 #define SDL_MIX_MAXVOLUME 128
474 SDL_AudioFormat format,
486 extern DECLSPEC
void SDLCALL SDL_LockAudio(
void);
487 extern DECLSPEC
void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev);
488 extern DECLSPEC
void SDLCALL SDL_UnlockAudio(
void);
489 extern DECLSPEC
void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev);
496 extern DECLSPEC
void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev);
int len_cvt
Definition: SDL_audio.h:205
DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
uint8_t Uint8
An unsigned 8-bit integer type.
Definition: SDL_stdinc.h:129
Definition: SDL_audio.h:165
DECLSPEC void SDLCALL SDL_CloseAudio(void)
DECLSPEC int SDLCALL SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained)
DECLSPEC void SDLCALL SDL_FreeWAV(Uint8 *audio_buf)
Uint16 padding
Definition: SDL_audio.h:172
uint32_t Uint32
An unsigned 32-bit integer type.
Definition: SDL_stdinc.h:145
int needed
Definition: SDL_audio.h:199
DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index, int iscapture)
Uint8 channels
Definition: SDL_audio.h:169
uint16_t Uint16
An unsigned 16-bit integer type.
Definition: SDL_stdinc.h:137
double rate_incr
Definition: SDL_audio.h:202
DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, Uint32 len, int volume)
DECLSPEC int SDLCALL SDL_GetNumAudioDevices(int iscapture)
Uint8 * buf
Definition: SDL_audio.h:203
#define SDL_AUDIOCVT_PACKED
Definition: SDL_audio.h:194
typedef void(SDLCALL *SDL_AudioCallback)(void *userdata
SDL_AudioFormat src_format
Definition: SDL_audio.h:200
struct SDL_AudioSpec SDL_AudioSpec
int len_mult
Definition: SDL_audio.h:206
DECLSPEC void SDLCALL SDL_MixAudio(Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
double len_ratio
Definition: SDL_audio.h:207
Uint32 size
Definition: SDL_audio.h:173
SDL_AudioFormat format
Definition: SDL_audio.h:168
SDL_AudioFilter filters[10]
Definition: SDL_audio.h:208
Definition: SDL_audio.h:197
DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT *cvt)
int len
Definition: SDL_audio.h:204
DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT *cvt, SDL_AudioFormat src_format, Uint8 src_channels, int src_rate, SDL_AudioFormat dst_format, Uint8 dst_channels, int dst_rate)
Uint32 SDL_AudioDeviceID
Definition: SDL_audio.h:298
DECLSPEC const char *SDLCALL SDL_GetCurrentAudioDriver(void)
SDL_AudioFormat dst_format
Definition: SDL_audio.h:201
Uint16 SDL_AudioFormat
Audio format flags.
Definition: SDL_audio.h:64
Uint8 silence
Definition: SDL_audio.h:170
int filter_index
Definition: SDL_audio.h:209
Uint16 samples
Definition: SDL_audio.h:171
int freq
Definition: SDL_audio.h:167
DECLSPEC SDL_AudioDeviceID SDLCALL SDL_OpenAudioDevice(const char *device, int iscapture, const SDL_AudioSpec *desired, SDL_AudioSpec *obtained, int allowed_changes)
Definition: SDL_rwops.h:52