aboutsummaryrefslogtreecommitdiffstats
path: root/alc/buffer_storage.h
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2021-01-24 02:07:39 -0800
committerChris Robinson <[email protected]>2021-01-24 02:07:39 -0800
commit13c1d7efb7141aee93d32a60c0e609e61a64f550 (patch)
treec788c53507811f8adb8a33ee668c014f66d9b8fa /alc/buffer_storage.h
parent3142fb30eaa451c955a1607b8cffe2069cbd15b2 (diff)
Store buffer info in the queue entry
Diffstat (limited to 'alc/buffer_storage.h')
-rw-r--r--alc/buffer_storage.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/alc/buffer_storage.h b/alc/buffer_storage.h
index 80ccbc7b..d6518bc0 100644
--- a/alc/buffer_storage.h
+++ b/alc/buffer_storage.h
@@ -5,7 +5,7 @@
#include "albyte.h"
#include "almalloc.h"
-#include "vector.h"
+#include "alspan.h"
using uint = unsigned int;
@@ -50,8 +50,6 @@ inline uint FrameSizeFromFmt(FmtChannels chans, FmtType type, uint ambiorder) no
using CallbackType = int(*)(void*, void*, int);
struct BufferStorage {
- al::vector<al::byte,16> mData;
-
CallbackType mCallback{nullptr};
void *mUserData{nullptr};
@@ -64,9 +62,6 @@ struct BufferStorage {
AmbiScaling mAmbiScaling{AmbiScaling::FuMa};
uint mAmbiOrder{0u};
- uint mLoopStart{0u};
- uint mLoopEnd{0u};
-
inline uint bytesFromFmt() const noexcept { return BytesFromFmt(mType); }
inline uint channelsFromFmt() const noexcept
{ return ChannelsFromFmt(mChannels, mAmbiOrder); }
@@ -80,6 +75,10 @@ struct BufferStorage {
struct BufferlistItem {
std::atomic<BufferlistItem*> mNext{nullptr};
uint mSampleLen{0u};
+ uint mLoopStart{0u};
+ uint mLoopEnd{0u};
+ al::span<al::byte> mSamples;
+
BufferStorage *mBuffer{nullptr};
DEF_NEWDEL(BufferlistItem)