diff options
Diffstat (limited to 'alc/effects/reverb.cpp')
-rw-r--r-- | alc/effects/reverb.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/alc/effects/reverb.cpp b/alc/effects/reverb.cpp index 08d1ea7b..6fafe241 100644 --- a/alc/effects/reverb.cpp +++ b/alc/effects/reverb.cpp @@ -424,14 +424,16 @@ struct ReverbState final : public EffectState { for(ALsizei c{0};c < NUM_LINES;c++) { std::fill_n(mTempLine.begin(), todo, 0.0f); - MixRowSamples(mTempLine.data(), A2B[c], mTempSamples, sEarlyOffset, todo); + MixRowSamples(mTempLine.data(), A2B[c], mTempSamples[0].data()+sEarlyOffset, + mTempSamples[0].size(), todo); MixSamples(mTempLine.data(), samplesOut, mEarly.CurrentGain[c], mEarly.PanGain[c], counter, offset, todo); } for(ALsizei c{0};c < NUM_LINES;c++) { std::fill_n(mTempLine.begin(), todo, 0.0f); - MixRowSamples(mTempLine.data(), A2B[c], mTempSamples, sLateOffset, todo); + MixRowSamples(mTempLine.data(), A2B[c], mTempSamples[0].data()+sLateOffset, + mTempSamples[0].size(), todo); MixSamples(mTempLine.data(), samplesOut, mLate.CurrentGain[c], mLate.PanGain[c], counter, offset, todo); } @@ -445,7 +447,8 @@ struct ReverbState final : public EffectState { for(ALsizei c{0};c < NUM_LINES;c++) { std::fill_n(mTempLine.begin(), todo, 0.0f); - MixRowSamples(mTempLine.data(), A2B[c], mTempSamples, sEarlyOffset, todo); + MixRowSamples(mTempLine.data(), A2B[c], mTempSamples[0].data()+sEarlyOffset, + mTempSamples[0].size(), todo); /* Apply scaling to the B-Format's HF response to "upsample" it to * higher-order output. @@ -459,7 +462,8 @@ struct ReverbState final : public EffectState { for(ALsizei c{0};c < NUM_LINES;c++) { std::fill_n(mTempLine.begin(), todo, 0.0f); - MixRowSamples(mTempLine.data(), A2B[c], mTempSamples, sLateOffset, todo); + MixRowSamples(mTempLine.data(), A2B[c], mTempSamples[0].data()+sLateOffset, + mTempSamples[0].size(), todo); const ALfloat hfscale{(c==0) ? mOrderScales[0] : mOrderScales[1]}; mAmbiSplitter[1][c].applyHfScale(mTempLine.data(), hfscale, todo); @@ -1457,7 +1461,8 @@ void ReverbState::process(const ALsizei samplesToDo, const FloatBufferLine *REST for(ALsizei c{0};c < NUM_LINES;c++) { std::fill_n(mTempLine.begin(), samplesToDo, 0.0f); - MixRowSamples(mTempLine.data(), B2A[c], {samplesIn, samplesIn+numInput}, 0, samplesToDo); + MixRowSamples(mTempLine.data(), {B2A[c], B2A[c]+numInput}, samplesIn->data(), + samplesIn->size(), samplesToDo); /* Band-pass the incoming samples and feed the initial delay line. */ mFilter[c].Lp.process(mTempLine.data(), mTempLine.data(), samplesToDo); |