From ad06b4ce5e41f74fffa967294ee7c0ae195dc14e Mon Sep 17 00:00:00 2001 From: Moonchild Date: Fri, 5 Jun 2026 11:28:55 +0200 Subject: [PATCH] Revert "Bug 2027433 Treat null input channels as zero in InterleaveAndConvertBuffer()" This reverts commit e76fc5637ad54f43841dcd27a8403c7623d66e59. --- dom/media/AudioSegment.h | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) 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; } } }