diff --git a/dom/media/AudioSegment.h b/dom/media/AudioSegment.h index 5d19b90e4d..13f6c2e488 100644 --- a/dom/media/AudioSegment.h +++ b/dom/media/AudioSegment.h @@ -61,22 +61,15 @@ template static void InterleaveAndConvertBuffer(const SrcT* const* aSourceChannels, uint32_t aLength, float aVolume, - uint32_t aChannelCount, + uint32_t aChannels, DestT* aOutput) { - for (size_t channel = 0; channel < aChannelCount; ++channel) { - DestT* output = aOutput; - if (aSourceChannels[channel]) { - for (size_t i = 0; i < aLength; ++i) { - float v = AudioSampleToFloat(aSourceChannels[channel][i])*aVolume; - *output = FloatToAudioSample(v); - output += aChannelCount; - } - } else { - for (size_t i = 0; i < aLength; ++i) { - *output = static_cast(0); - output += aChannelCount; - } + DestT* output = aOutput; + for (size_t i = 0; i < aLength; ++i) { + for (size_t channel = 0; channel < aChannels; ++channel) { + float v = AudioSampleToFloat(aSourceChannels[channel][i])*aVolume; + *output = FloatToAudioSample(v); + ++output; } } }