diff options
Diffstat (limited to 'alc/effects/base.h')
-rw-r--r-- | alc/effects/base.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/alc/effects/base.h b/alc/effects/base.h index 32d7fc86..b482bae2 100644 --- a/alc/effects/base.h +++ b/alc/effects/base.h @@ -3,6 +3,7 @@ #include <cstddef> +#include "albyte.h" #include "alcmain.h" #include "almalloc.h" #include "alspan.h" @@ -164,12 +165,17 @@ struct EffectTarget { }; struct EffectState : public al::intrusive_ref<EffectState> { + struct Buffer { + const BufferStorage *storage; + al::span<const al::byte> samples; + }; + al::span<FloatBufferLine> mOutTarget; virtual ~EffectState() = default; - virtual void deviceUpdate(const ALCdevice *device, const BufferStorage *buffer) = 0; + virtual void deviceUpdate(const ALCdevice *device, const Buffer &buffer) = 0; virtual void update(const ALCcontext *context, const EffectSlot *slot, const EffectProps *props, const EffectTarget target) = 0; virtual void process(const size_t samplesToDo, const al::span<const FloatBufferLine> samplesIn, |