aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects/echo.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2019-05-29 22:31:36 -0700
committerChris Robinson <[email protected]>2019-05-29 22:31:36 -0700
commit2909f263fd1a2e7122b0345c6d11209084815fd1 (patch)
tree43fc5530d46f50edd7e5ca95f9c2d3dd4c95d3fc /Alc/effects/echo.cpp
parent893ffe9a84d497d38e6e472b0cffbd9c37e0c366 (diff)
Use span<FloatBufferLine> for EffectState::process output
Diffstat (limited to 'Alc/effects/echo.cpp')
-rw-r--r--Alc/effects/echo.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/Alc/effects/echo.cpp b/Alc/effects/echo.cpp
index e82e75bd..dadb41bb 100644
--- a/Alc/effects/echo.cpp
+++ b/Alc/effects/echo.cpp
@@ -60,7 +60,7 @@ struct EchoState final : public EffectState {
ALboolean deviceUpdate(const ALCdevice *device) override;
void update(const ALCcontext *context, const ALeffectslot *slot, const EffectProps *props, const EffectTarget target) override;
- void process(const ALsizei samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei numInput, FloatBufferLine *RESTRICT samplesOut, const ALsizei numOutput) override;
+ void process(const ALsizei samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei numInput, const al::span<FloatBufferLine> samplesOut) override;
DEF_NEWDEL(EchoState)
};
@@ -119,7 +119,7 @@ void EchoState::update(const ALCcontext *context, const ALeffectslot *slot, cons
ComputePanGains(target.Main, coeffs[1], slot->Params.Gain, mGains[1].Target);
}
-void EchoState::process(const ALsizei samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei /*numInput*/, FloatBufferLine *RESTRICT samplesOut, const ALsizei numOutput)
+void EchoState::process(const ALsizei samplesToDo, const FloatBufferLine *RESTRICT samplesIn, const ALsizei /*numInput*/, const al::span<FloatBufferLine> samplesOut)
{
const auto mask = static_cast<ALsizei>(mSampleBuffer.size()-1);
ALfloat *RESTRICT delaybuf{mSampleBuffer.data()};
@@ -157,9 +157,8 @@ void EchoState::process(const ALsizei samplesToDo, const FloatBufferLine *RESTRI
mFilter.setComponents(z1, z2);
mOffset = offset;
- const al::span<FloatBufferLine> output{samplesOut, samplesOut+numOutput};
for(ALsizei c{0};c < 2;c++)
- MixSamples(mTempBuffer[c], output, mGains[c].Current, mGains[c].Target, samplesToDo, 0,
+ MixSamples(mTempBuffer[c], samplesOut, mGains[c].Current, mGains[c].Target, samplesToDo, 0,
samplesToDo);
}