11 #include "buffer_storage.h"
12 #include "inprogext.h"
17 enum UserFmtType
: unsigned char {
18 UserFmtUByte
= FmtUByte
,
19 UserFmtShort
= FmtShort
,
20 UserFmtFloat
= FmtFloat
,
21 UserFmtMulaw
= FmtMulaw
,
22 UserFmtAlaw
= FmtAlaw
,
23 UserFmtDouble
= FmtDouble
,
28 enum UserFmtChannels
: unsigned char {
29 UserFmtMono
= FmtMono
,
30 UserFmtStereo
= FmtStereo
,
31 UserFmtRear
= FmtRear
,
32 UserFmtQuad
= FmtQuad
,
36 UserFmtBFormat2D
= FmtBFormat2D
,
37 UserFmtBFormat3D
= FmtBFormat3D
,
42 BufferStorage mBuffer
;
44 ALbitfieldSOFT Access
{0u};
46 UserFmtType OriginalType
{};
47 ALuint OriginalSize
{0};
48 ALuint OriginalAlign
{0};
53 ALuint UnpackAlign
{0};
55 ALuint UnpackAmbiOrder
{1};
57 ALbitfieldSOFT MappedAccess
{0u};
58 ALsizei MappedOffset
{0};
59 ALsizei MappedSize
{0};
61 /* Number of times buffer was attached to a source (deletion can only occur when 0) */
67 inline ALuint
bytesFromFmt() const noexcept
{ return mBuffer
.bytesFromFmt(); }
68 inline ALuint
channelsFromFmt() const noexcept
{ return mBuffer
.channelsFromFmt(); }
69 inline ALuint
frameSizeFromFmt() const noexcept
{ return mBuffer
.frameSizeFromFmt(); }