Avoid declaring some variables multiple times

This commit is contained in:
Chris Robinson
2021-01-21 06:25:50 -08:00
parent 20f5e7c1fa
commit db4de2b56a
+7 -6
View File
@@ -582,12 +582,11 @@ void Voice::mix(const State vstate, ALCcontext *Context, const uint SamplesToDo)
} }
const float fadeVal{fadeGain}; const float fadeVal{fadeGain};
const size_t num_chans{mChans.size()};
size_t chan_idx{0};
ASSUME(DstBufferSize > 0); ASSUME(DstBufferSize > 0);
for(auto &chandata : mChans) for(auto &chandata : mChans)
{ {
const size_t num_chans{mChans.size()};
const auto chan = static_cast<size_t>(std::distance(mChans.data(),
std::addressof(chandata)));
const al::span<float> SrcData{Device->SourceData, SrcBufferSize}; const al::span<float> SrcData{Device->SourceData, SrcBufferSize};
/* Load the previous samples into the source data first, then load /* Load the previous samples into the source data first, then load
@@ -601,13 +600,13 @@ void Voice::mix(const State vstate, ALCcontext *Context, const uint SamplesToDo)
chandata.mPrevSamples.end(), srciter); chandata.mPrevSamples.end(), srciter);
else if((mFlags&VoiceIsStatic)) else if((mFlags&VoiceIsStatic))
srciter = LoadBufferStatic(BufferListItem, BufferLoopItem, num_chans, srciter = LoadBufferStatic(BufferListItem, BufferLoopItem, num_chans,
SampleSize, chan, DataPosInt, {srciter, SrcData.end()}); SampleSize, chan_idx, DataPosInt, {srciter, SrcData.end()});
else if((mFlags&VoiceIsCallback)) else if((mFlags&VoiceIsCallback))
srciter = LoadBufferCallback(BufferListItem, num_chans, SampleSize, chan, srciter = LoadBufferCallback(BufferListItem, num_chans, SampleSize, chan_idx,
mNumCallbackSamples, {srciter, SrcData.end()}); mNumCallbackSamples, {srciter, SrcData.end()});
else else
srciter = LoadBufferQueue(BufferListItem, BufferLoopItem, num_chans, srciter = LoadBufferQueue(BufferListItem, BufferLoopItem, num_chans,
SampleSize, chan, DataPosInt, {srciter, SrcData.end()}); SampleSize, chan_idx, DataPosInt, {srciter, SrcData.end()});
if UNLIKELY(srciter != SrcData.end()) if UNLIKELY(srciter != SrcData.end())
{ {
@@ -685,6 +684,8 @@ void Voice::mix(const State vstate, ALCcontext *Context, const uint SamplesToDo)
MixSamples({samples, DstBufferSize}, mSend[send].Buffer, MixSamples({samples, DstBufferSize}, mSend[send].Buffer,
parms.Gains.Current.data(), TargetGains, Counter, OutPos); parms.Gains.Current.data(), TargetGains, Counter, OutPos);
} }
++chan_idx;
} }
/* Update positions */ /* Update positions */
DataPosFrac += increment*DstBufferSize; DataPosFrac += increment*DstBufferSize;