aboutsummaryrefslogtreecommitdiffstats
path: root/alc/effects/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'alc/effects/base.h')
-rw-r--r--alc/effects/base.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/alc/effects/base.h b/alc/effects/base.h
index 4f48de22..89a9e8e4 100644
--- a/alc/effects/base.h
+++ b/alc/effects/base.h
@@ -5,7 +5,7 @@
#include "almalloc.h"
#include "alspan.h"
#include "atomic.h"
-
+#include "intrusive_ptr.h"
struct ALeffectslot;
@@ -149,9 +149,7 @@ struct EffectTarget {
RealMixParams *RealOut;
};
-struct EffectState {
- RefCount mRef{1u};
-
+struct EffectState : public al::intrusive_ref<EffectState> {
al::span<FloatBufferLine> mOutTarget;
@@ -160,9 +158,6 @@ struct EffectState {
virtual ALboolean deviceUpdate(const ALCdevice *device) = 0;
virtual void update(const ALCcontext *context, const ALeffectslot *slot, const EffectProps *props, const EffectTarget target) = 0;
virtual void process(const ALsizei samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei numInput, const al::span<FloatBufferLine> samplesOut) = 0;
-
- void IncRef() noexcept;
- void DecRef() noexcept;
};