82#define SDL_AUDIO_MASK_BITSIZE (0xFF)
83#define SDL_AUDIO_MASK_DATATYPE (1<<8)
84#define SDL_AUDIO_MASK_ENDIAN (1<<12)
85#define SDL_AUDIO_MASK_SIGNED (1<<15)
86#define SDL_AUDIO_BITSIZE(x) (x & SDL_AUDIO_MASK_BITSIZE)
87#define SDL_AUDIO_ISFLOAT(x) (x & SDL_AUDIO_MASK_DATATYPE)
88#define SDL_AUDIO_ISBIGENDIAN(x) (x & SDL_AUDIO_MASK_ENDIAN)
89#define SDL_AUDIO_ISSIGNED(x) (x & SDL_AUDIO_MASK_SIGNED)
90#define SDL_AUDIO_ISINT(x) (!SDL_AUDIO_ISFLOAT(x))
91#define SDL_AUDIO_ISLITTLEENDIAN(x) (!SDL_AUDIO_ISBIGENDIAN(x))
92#define SDL_AUDIO_ISUNSIGNED(x) (!SDL_AUDIO_ISSIGNED(x))
100#define SDL_AUDIO_U8 0x0008
101#define SDL_AUDIO_S8 0x8008
102#define SDL_AUDIO_S16LSB 0x8010
103#define SDL_AUDIO_S16MSB 0x9010
104#define SDL_AUDIO_S16 SDL_AUDIO_S16LSB
111#define SDL_AUDIO_S32LSB 0x8020
112#define SDL_AUDIO_S32MSB 0x9020
113#define SDL_AUDIO_S32 SDL_AUDIO_S32LSB
120#define SDL_AUDIO_F32LSB 0x8120
121#define SDL_AUDIO_F32MSB 0x9120
122#define SDL_AUDIO_F32 SDL_AUDIO_F32LSB
129#if SDL_BYTEORDER == SDL_LIL_ENDIAN
130#define SDL_AUDIO_S16SYS SDL_AUDIO_S16LSB
131#define SDL_AUDIO_S32SYS SDL_AUDIO_S32LSB
132#define SDL_AUDIO_F32SYS SDL_AUDIO_F32LSB
134#define SDL_AUDIO_S16SYS SDL_AUDIO_S16MSB
135#define SDL_AUDIO_S32SYS SDL_AUDIO_S32MSB
136#define SDL_AUDIO_F32SYS SDL_AUDIO_F32MSB
147#define SDL_AUDIO_DEVICE_DEFAULT_OUTPUT ((SDL_AudioDeviceID) 0xFFFFFFFF)
148#define SDL_AUDIO_DEVICE_DEFAULT_CAPTURE ((SDL_AudioDeviceID) 0xFFFFFFFE)
1188#define SDL_MIX_MAXVOLUME 128
1260 const Uint8 *src_data,
int SDL_UnlockAudioStream(SDL_AudioStream *stream)
const char * SDL_GetAudioDriver(int index)
SDL_AudioStream * SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)
void SDL_UnbindAudioStream(SDL_AudioStream *stream)
int SDL_GetAudioDeviceFormat(SDL_AudioDeviceID devid, SDL_AudioSpec *spec)
struct SDL_AudioStream SDL_AudioStream
SDL_bool SDL_IsAudioDevicePaused(SDL_AudioDeviceID dev)
Uint16 SDL_AudioFormat
Audio format flags.
int SDL_FlushAudioStream(SDL_AudioStream *stream)
int SDL_GetNumAudioDrivers(void)
char * SDL_GetAudioDeviceName(SDL_AudioDeviceID devid)
int SDL_ConvertAudioSamples(const SDL_AudioSpec *src_spec, const Uint8 *src_data, int src_len, const SDL_AudioSpec *dst_spec, Uint8 **dst_data, int *dst_len)
int SDL_GetSilenceValueForFormat(SDL_AudioFormat format)
const char * SDL_GetCurrentAudioDriver(void)
int SDL_BindAudioStream(SDL_AudioDeviceID devid, SDL_AudioStream *stream)
int SDL_PauseAudioDevice(SDL_AudioDeviceID dev)
int SDL_GetAudioStreamAvailable(SDL_AudioStream *stream)
SDL_AudioDeviceID * SDL_GetAudioCaptureDevices(int *count)
int SDL_LoadWAV(const char *path, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
int SDL_PutAudioStreamData(SDL_AudioStream *stream, const void *buf, int len)
int SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream **streams, int num_streams)
void SDL_UnbindAudioStreams(SDL_AudioStream **streams, int num_streams)
void SDL_DestroyAudioStream(SDL_AudioStream *stream)
int SDL_LockAudioStream(SDL_AudioStream *stream)
void SDL_CloseAudioDevice(SDL_AudioDeviceID devid)
int SDL_GetAudioStreamData(SDL_AudioStream *stream, void *buf, int len)
int SDL_LoadWAV_RW(SDL_RWops *src, SDL_bool freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
SDL_AudioDeviceID SDL_GetAudioStreamBinding(SDL_AudioStream *stream)
int SDL_ResumeAudioDevice(SDL_AudioDeviceID dev)
int SDL_ClearAudioStream(SDL_AudioStream *stream)
SDL_AudioDeviceID * SDL_GetAudioOutputDevices(int *count)
int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, Uint32 len, int volume)
void(* SDL_AudioStreamRequestCallback)(SDL_AudioStream *stream, int approx_request, void *userdata)
SDL_AudioDeviceID SDL_OpenAudioDevice(SDL_AudioDeviceID devid, const SDL_AudioSpec *spec)
int SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)
int SDL_GetAudioStreamFormat(SDL_AudioStream *stream, SDL_AudioSpec *src_spec, SDL_AudioSpec *dst_spec)
int SDL_SetAudioStreamPutCallback(SDL_AudioStream *stream, SDL_AudioStreamRequestCallback callback, void *userdata)
SDL_AudioStream * SDL_CreateAndBindAudioStream(SDL_AudioDeviceID devid, const SDL_AudioSpec *spec)
int SDL_SetAudioStreamGetCallback(SDL_AudioStream *stream, SDL_AudioStreamRequestCallback callback, void *userdata)
Functions for reading and writing endian-specific values.
Functions to provide thread synchronization primitives.
This is a general header that includes C language support.
Header for the SDL thread management routines.