aboutsummaryrefslogtreecommitdiffstats
path: root/al/auxeffectslot.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2020-11-02 04:24:36 -0800
committerChris Robinson <[email protected]>2020-11-02 04:24:36 -0800
commit52d58a40234b8829801f0a587375eca91694c30f (patch)
treecaa8d283de74feeb4f23eab39ea57b3835c3bffc /al/auxeffectslot.cpp
parent6e05adf955bdd81c82a1feabb25f6f27d7bc56e0 (diff)
Store the wet buffers in the context
This is rather ugly, but we need the wet buffers to remain allocated after its effect slot is deleted, because a voice can still use it for its final fade-out mix.
Diffstat (limited to 'al/auxeffectslot.cpp')
-rw-r--r--al/auxeffectslot.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/al/auxeffectslot.cpp b/al/auxeffectslot.cpp
index 74005aaa..df04f430 100644
--- a/al/auxeffectslot.cpp
+++ b/al/auxeffectslot.cpp
@@ -216,7 +216,7 @@ ALeffectslot *AllocEffectSlot(ALCcontext *context)
context->setError(err, "Effect slot object initialization failed");
return nullptr;
}
- aluInitEffectPanning(slot, context->mDevice.get());
+ aluInitEffectPanning(slot, context);
/* Add 1 to avoid source ID 0. */
slot->id = ((lidx<<6) | slidx) + 1;
@@ -822,6 +822,8 @@ ALeffectslot::~ALeffectslot()
delete props;
}
+ if(mWetBuffer)
+ mWetBuffer->mInUse = false;
if(Params.mEffectState)
Params.mEffectState->release();
}