27 enum UserFmtChannels {
39 ALsizei BytesFromUserFmt(
enum UserFmtType type);
40 ALsizei ChannelsFromUserFmt(
enum UserFmtChannels chans);
41 inline ALsizei FrameSizeFromUserFmt(
enum UserFmtChannels chans,
enum UserFmtType type)
43 return ChannelsFromUserFmt(chans) * BytesFromUserFmt(type);
49 FmtUByte = UserFmtUByte,
50 FmtShort = UserFmtShort,
51 FmtFloat = UserFmtFloat,
52 FmtDouble = UserFmtDouble,
53 FmtMulaw = UserFmtMulaw,
54 FmtAlaw = UserFmtAlaw,
57 FmtMono = UserFmtMono,
58 FmtStereo = UserFmtStereo,
59 FmtRear = UserFmtRear,
60 FmtQuad = UserFmtQuad,
64 FmtBFormat2D = UserFmtBFormat2D,
65 FmtBFormat3D = UserFmtBFormat3D,
67 #define MAX_INPUT_CHANNELS (8) 69 ALsizei BytesFromFmt(
enum FmtType type);
70 ALsizei ChannelsFromFmt(
enum FmtChannels chans);
71 inline ALsizei FrameSizeFromFmt(
enum FmtChannels chans,
enum FmtType type)
73 return ChannelsFromFmt(chans) * BytesFromFmt(type);
77 typedef struct ALbuffer {
81 ALbitfieldSOFT Access;
84 enum FmtChannels FmtChannels;
88 enum UserFmtType OriginalType;
90 ALsizei OriginalAlign;
95 ATOMIC(ALsizei) UnpackAlign;
96 ATOMIC(ALsizei) PackAlign;
98 ALbitfieldSOFT MappedAccess;
109 ALvoid ReleaseALBuffers(ALCdevice *device);