|
Size: 3253
Comment: content added
|
Size: 3066
Comment: format adjustments
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 21: | Line 21: |
| 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
| Line 23: | Line 23: |
| ''OR it could look like this'' ||__Bit__||__Meaning__|| ||15||sample is signed if set|| ||12||sample is bigendian if set|| ||08||sample is float if set|| ||07-00||sample bit size|| |
SDL_AudioFormat
A typedef that contains audio format data and flags.
Contents
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
Related Structures
