Wiki Page Content

Revision 4 as of 2009-12-20 04:13:08

Clear message

SDL_AudioFormat

A typedef that contains audio format data and flags.

Values

Bit Meanings

These are what the 16 bits in SDL_AudioFormat currently mean:

++-----------------------sample is signed if set
||
||       ++-----------sample is bigendian if set
||       ||
||       ||          ++---sample is float if set
||       ||          ||
||       ||          || +---sample bit size---+
||       ||          || |                     |
15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0 

Unspecified bits are always zero. There are macros in SDL 1.3 and later to query these bits.

Audio flags

SDL_AUDIO_MASK_BITSIZE

(0xFF)

SDL_AUDIO_MASK_DATATYPE

(1<<8)

SDL_AUDIO_MASK_ENDIAN

(1<<12)

SDL_AUDIO_MASK_SIGNED

(1<<15)

SDL_AUDIO_BITSIZE(x)

(x & SDL_AUDIO_MASK_BITSIZE)

SDL_AUDIO_ISFLOAT(x)

(x & SDL_AUDIO_MASK_DATATYPE)

SDL_AUDIO_ISBIGENDIAN(x)

(x & SDL_AUDIO_MASK_ENDIAN)

SDL_AUDIO_ISSIGNED(x)

(x & SDL_AUDIO_MASK_SIGNED)

SDL_AUDIO_ISINT(x)

(!SDL_AUDIO_ISFLOAT(x))

SDL_AUDIO_ISLITTLEENDIAN(x)

(!SDL_AUDIO_ISBIGENDIAN(x))

SDL_AUDIO_ISUNSIGNED(x)

(!SDL_AUDIO_ISSIGNED(x))

Audio format flags

AUDIO_U8

unsigned 8-bit samples

AUDIO_S8

signed 8-bit samples

AUDIO_U16LSB

unsigned 16-bit samples

AUDIO_S16LSB

signed 16-bit samples

AUDIO_U16MSB

as above, but big-endian byte order

AUDIO_S16MSB

as above, but big-endian byte order

AUDIO_U16

AUDIO_U16LSB

AUDIO_S16

AUDIO_S16LSB

Defaults to LSB byte order.

int32 support

(New to SDL 1.3)

AUDIO_S32LSB

32-bit integer samples

AUDIO_S32MSB

as above, but big-endian byte order

AUDIO_S32

AUDIO_S32LSB

float32 support

(New to SDL 1.3)

AUDIO_F32LSB

32-bit floating point samples

AUDIO_F32MSB

as above, but big-endian byte order

AUDIO_F32

AUDIO_F32LSB

Native audio byte ordering

#if SDL_BYTEORDER == SDL_LIL_ENDIAN
#define AUDIO_U16SYS AUDIO_U16LSB
#define AUDIO_S16SYS AUDIO_S16LSB
#define AUDIO_S32SYS AUDIO_S32LSB
#define AUDIO_F32SYS AUDIO_F32LSB
#else
#define AUDIO_U16SYS AUDIO_U16MSB
#define AUDIO_S16SYS AUDIO_S16MSB
#define AUDIO_S32SYS AUDIO_S32MSB
#define AUDIO_F32SYS AUDIO_F32MSB
#endif

Allow change flags

Which audio format changes are allowed when opening a device.

SDL_AUDIO_ALLOW_FREQUENCY_CHANGE

0x00000001

SDL_AUDIO_ALLOW_FORMAT_CHANGE

0x00000002

SDL_AUDIO_ALLOW_CHANNELS_CHANGE

0x00000004

SDL_AUDIO_ALLOW_ANY_CHANGE

(SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE)

Code Examples

You can add your code example here

Remarks

You can add useful comments here


CategoryEnum

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit