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_SAMPLES_CHANGE 0x00000008 144 #define SDL_AUDIO_ALLOW_ANY_CHANGE (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE|SDL_AUDIO_ALLOW_SAMPLES_CHANGE) 193 typedef void (SDLCALL * SDL_AudioFilter) (
struct SDL_AudioCVT * cvt,
203 #define SDL_AUDIOCVT_MAX_FILTERS 9 221 #define SDL_AUDIOCVT_PACKED __attribute__((packed)) 223 #define SDL_AUDIOCVT_PACKED 251 extern DECLSPEC
int SDLCALL SDL_GetNumAudioDrivers(
void);
252 extern DECLSPEC
const char *SDLCALL SDL_GetAudioDriver(
int index);
263 extern DECLSPEC
int SDLCALL SDL_AudioInit(
const char *driver_name);
264 extern DECLSPEC
void SDLCALL SDL_AudioQuit(
void);
397 SDL_AUDIO_STOPPED = 0,
401 extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioStatus(
void);
403 extern DECLSPEC SDL_AudioStatus SDLCALL
404 SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
417 extern DECLSPEC
void SDLCALL SDL_PauseAudio(
int pause_on);
418 extern DECLSPEC
void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
484 #define SDL_LoadWAV(file, spec, audio_buf, audio_len) \ 485 SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len) 490 extern DECLSPEC
void SDLCALL
SDL_FreeWAV(Uint8 * audio_buf);
502 SDL_AudioFormat src_format,
505 SDL_AudioFormat dst_format,
531 struct _SDL_AudioStream;
532 typedef struct _SDL_AudioStream SDL_AudioStream;
552 extern DECLSPEC SDL_AudioStream * SDLCALL
SDL_NewAudioStream(
const SDL_AudioFormat src_format,
553 const Uint8 src_channels,
555 const SDL_AudioFormat dst_format,
556 const Uint8 dst_channels,
574 extern DECLSPEC
int SDLCALL
SDL_AudioStreamPut(SDL_AudioStream *stream,
const void *buf,
int len);
591 extern DECLSPEC
int SDLCALL
SDL_AudioStreamGet(SDL_AudioStream *stream,
void *buf,
int len);
649 #define SDL_MIX_MAXVOLUME 128 657 extern DECLSPEC
void SDLCALL
SDL_MixAudio(Uint8 * dst,
const Uint8 * src,
658 Uint32 len,
int volume);
667 SDL_AudioFormat format,
668 Uint32 len,
int volume);
709 extern DECLSPEC
int SDLCALL
SDL_QueueAudio(SDL_AudioDeviceID dev,
const void *data, Uint32 len);
755 extern DECLSPEC Uint32 SDLCALL
SDL_DequeueAudio(SDL_AudioDeviceID dev,
void *data, Uint32 len);
839 extern DECLSPEC
void SDLCALL SDL_LockAudio(
void);
840 extern DECLSPEC
void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev);
841 extern DECLSPEC
void SDLCALL SDL_UnlockAudio(
void);
842 extern DECLSPEC
void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev);
849 extern DECLSPEC
void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev);
int len_cvt
Definition: SDL_audio.h:234
DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
Load the audio data of a WAVE file into memory.
Definition: SDL_audio.h:178
DECLSPEC void SDLCALL SDL_CloseAudio(void)
DECLSPEC int SDLCALL SDL_AudioStreamFlush(SDL_AudioStream *stream)
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:185
int needed
Definition: SDL_audio.h:228
DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index, int iscapture)
DECLSPEC int SDLCALL SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, int len)
Uint8 channels
Definition: SDL_audio.h:182
void(SDLCALL * SDL_AudioCallback)(void *userdata, Uint8 *stream, int len)
Definition: SDL_audio.h:163
void * userdata
Definition: SDL_audio.h:188
double rate_incr
Definition: SDL_audio.h:231
DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, Uint32 len, int volume)
DECLSPEC void SDLCALL SDL_AudioStreamClear(SDL_AudioStream *stream)
DECLSPEC int SDLCALL SDL_GetNumAudioDevices(int iscapture)
Uint8 * buf
Definition: SDL_audio.h:232
DECLSPEC void SDLCALL SDL_FreeAudioStream(SDL_AudioStream *stream)
SDL_AudioFormat src_format
Definition: SDL_audio.h:229
struct SDL_AudioSpec SDL_AudioSpec
int len_mult
Definition: SDL_audio.h:235
DECLSPEC void SDLCALL SDL_MixAudio(Uint8 *dst, const Uint8 *src, Uint32 len, int volume)
double len_ratio
Definition: SDL_audio.h:236
Uint32 size
Definition: SDL_audio.h:186
SDL_AudioFormat format
Definition: SDL_audio.h:181
A structure to hold a set of audio conversion filters and buffers.
Definition: SDL_audio.h:226
DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT *cvt)
DECLSPEC int SDLCALL SDL_AudioStreamAvailable(SDL_AudioStream *stream)
int len
Definition: SDL_audio.h:233
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:330
DECLSPEC const char *SDLCALL SDL_GetCurrentAudioDriver(void)
DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev)
DECLSPEC void SDLCALL SDL_ClearQueuedAudio(SDL_AudioDeviceID dev)
SDL_AudioFormat dst_format
Definition: SDL_audio.h:230
DECLSPEC Uint32 SDLCALL SDL_DequeueAudio(SDL_AudioDeviceID dev, void *data, Uint32 len)
Uint16 SDL_AudioFormat
Audio format flags.
Definition: SDL_audio.h:64
Uint8 silence
Definition: SDL_audio.h:183
int filter_index
Definition: SDL_audio.h:238
DECLSPEC SDL_AudioStream *SDLCALL SDL_NewAudioStream(const SDL_AudioFormat src_format, const Uint8 src_channels, const int src_rate, const SDL_AudioFormat dst_format, const Uint8 dst_channels, const int dst_rate)
Uint16 samples
Definition: SDL_audio.h:184
DECLSPEC int SDLCALL SDL_QueueAudio(SDL_AudioDeviceID dev, const void *data, Uint32 len)
DECLSPEC int SDLCALL SDL_AudioStreamGet(SDL_AudioStream *stream, void *buf, int len)
int freq
Definition: SDL_audio.h:180
DECLSPEC SDL_AudioDeviceID SDLCALL SDL_OpenAudioDevice(const char *device, int iscapture, const SDL_AudioSpec *desired, SDL_AudioSpec *obtained, int allowed_changes)
#define SDL_AUDIOCVT_MAX_FILTERS
Upper limit of filters in SDL_AudioCVT.
Definition: SDL_audio.h:203
Definition: SDL_rwops.h:52
SDL_AudioCallback callback
Definition: SDL_audio.h:187