diff --git a/dom/media/webaudio/AnalyserNode.cpp b/dom/media/webaudio/AnalyserNode.cpp index c73d002f9c48..d110cc1c6172 100644 --- a/dom/media/webaudio/AnalyserNode.cpp +++ b/dom/media/webaudio/AnalyserNode.cpp @@ -329,7 +329,7 @@ AnalyserNode::GetTimeDomainData(float* aData, size_t aLength) for (size_t writeIndex = 0; writeIndex < aLength; ) { const AudioChunk& chunk = mChunks[readChunk & (CHUNK_COUNT - 1)]; - const size_t channelCount = chunk.mChannelData.Length(); + const size_t channelCount = chunk.ChannelCount(); size_t copyLength = std::min(aLength - writeIndex, WEBAUDIO_BLOCK_SIZE); float* dataOut = &aData[writeIndex]; diff --git a/dom/media/webaudio/AudioDestinationNode.cpp b/dom/media/webaudio/AudioDestinationNode.cpp index fdb49766085e..2b0651001b0b 100644 --- a/dom/media/webaudio/AudioDestinationNode.cpp +++ b/dom/media/webaudio/AudioDestinationNode.cpp @@ -79,7 +79,7 @@ public: // Record our input buffer MOZ_ASSERT(mWriteIndex < mLength, "How did this happen?"); const uint32_t duration = std::min(WEBAUDIO_BLOCK_SIZE, mLength - mWriteIndex); - const uint32_t inputChannelCount = aInput.mChannelData.Length(); + const uint32_t inputChannelCount = aInput.ChannelCount(); for (uint32_t i = 0; i < outputChannelCount; ++i) { float* outputData = mBuffer->GetDataForWrite(i) + mWriteIndex; if (aInput.IsNull() || i >= inputChannelCount) { diff --git a/dom/media/webaudio/AudioNodeEngine.cpp b/dom/media/webaudio/AudioNodeEngine.cpp index 47952bf28884..46c1a3d915c8 100644 --- a/dom/media/webaudio/AudioNodeEngine.cpp +++ b/dom/media/webaudio/AudioNodeEngine.cpp @@ -40,7 +40,7 @@ WriteZeroesToAudioBlock(AudioChunk* aChunk, uint32_t aStart, uint32_t aLength) if (aLength == 0) return; - for (uint32_t i = 0; i < aChunk->mChannelData.Length(); ++i) { + for (uint32_t i = 0; i < aChunk->ChannelCount(); ++i) { PodZero(aChunk->ChannelFloatsForWrite(i) + aStart, aLength); } } diff --git a/dom/media/webaudio/AudioNodeStream.cpp b/dom/media/webaudio/AudioNodeStream.cpp index 4758d35d22e2..e6eaf721be81 100644 --- a/dom/media/webaudio/AudioNodeStream.cpp +++ b/dom/media/webaudio/AudioNodeStream.cpp @@ -393,20 +393,20 @@ AudioNodeStream::ObtainInputBlock(AudioChunk& aTmpChunk, uint32_t aPortIndex) inputChunks.AppendElement(chunk); outputChannelCount = - GetAudioChannelsSuperset(outputChannelCount, chunk->mChannelData.Length()); + GetAudioChannelsSuperset(outputChannelCount, chunk->ChannelCount()); } outputChannelCount = ComputedNumberOfChannels(outputChannelCount); uint32_t inputChunkCount = inputChunks.Length(); if (inputChunkCount == 0 || - (inputChunkCount == 1 && inputChunks[0]->mChannelData.Length() == 0)) { + (inputChunkCount == 1 && inputChunks[0]->ChannelCount() == 0)) { aTmpChunk.SetNull(WEBAUDIO_BLOCK_SIZE); return; } if (inputChunkCount == 1 && - inputChunks[0]->mChannelData.Length() == outputChannelCount) { + inputChunks[0]->ChannelCount() == outputChannelCount) { aTmpChunk = *inputChunks[0]; return; } @@ -431,7 +431,7 @@ AudioNodeStream::AccumulateInputChunk(uint32_t aInputIndex, const AudioChunk& aC nsTArray* aDownmixBuffer) { nsAutoTArray channels; - UpMixDownMixChunk(&aChunk, aBlock->mChannelData.Length(), channels, *aDownmixBuffer); + UpMixDownMixChunk(&aChunk, aBlock->ChannelCount(), channels, *aDownmixBuffer); for (uint32_t c = 0; c < channels.Length(); ++c) { const float* inputData = static_cast(channels[c]); @@ -458,7 +458,7 @@ AudioNodeStream::UpMixDownMixChunk(const AudioChunk* aChunk, { static const float silenceChannel[WEBAUDIO_BLOCK_SIZE] = {0.f}; - for (uint32_t i = 0; i < aChunk->mChannelData.Length(); i++) { + for (uint32_t i = 0; i < aChunk->ChannelCount(); i++) { aOutputChannels.AppendElement(static_cast(aChunk->mChannelData[i])); } if (aOutputChannels.Length() < aOutputChannelCount) { diff --git a/dom/media/webaudio/BiquadFilterNode.cpp b/dom/media/webaudio/BiquadFilterNode.cpp index e837c017d088..3305eae56456 100644 --- a/dom/media/webaudio/BiquadFilterNode.cpp +++ b/dom/media/webaudio/BiquadFilterNode.cpp @@ -168,7 +168,7 @@ public: PodArrayZero(inputBuffer); - } else if(mBiquads.Length() != aInput.mChannelData.Length()){ + } else if(mBiquads.Length() != aInput.ChannelCount()){ if (mBiquads.IsEmpty()) { nsRefPtr refchanged = new PlayingRefChangeHandler(aStream, PlayingRefChangeHandler::ADDREF); @@ -179,7 +179,7 @@ public: } // Adjust the number of biquads based on the number of channels - mBiquads.SetLength(aInput.mChannelData.Length()); + mBiquads.SetLength(aInput.ChannelCount()); } uint32_t numberOfChannels = mBiquads.Length(); diff --git a/dom/media/webaudio/ChannelMergerNode.cpp b/dom/media/webaudio/ChannelMergerNode.cpp index 0de9087523c2..a7e42850670c 100644 --- a/dom/media/webaudio/ChannelMergerNode.cpp +++ b/dom/media/webaudio/ChannelMergerNode.cpp @@ -33,7 +33,7 @@ public: // Get the number of output channels, and allocate it size_t channelCount = 0; for (uint16_t i = 0; i < InputCount(); ++i) { - channelCount += aInput[i].mChannelData.Length(); + channelCount += aInput[i].ChannelCount(); } if (channelCount == 0) { aOutput[0].SetNull(WEBAUDIO_BLOCK_SIZE); @@ -46,7 +46,7 @@ public: size_t channelIndex = 0; for (uint16_t i = 0; true; ++i) { MOZ_ASSERT(i < InputCount()); - for (size_t j = 0; j < aInput[i].mChannelData.Length(); ++j) { + for (size_t j = 0; j < aInput[i].ChannelCount(); ++j) { AudioBlockCopyChannelWithScale( static_cast(aInput[i].mChannelData[j]), aInput[i].mVolume, diff --git a/dom/media/webaudio/ChannelSplitterNode.cpp b/dom/media/webaudio/ChannelSplitterNode.cpp index 6c8db5e81fc0..4004a9943e58 100644 --- a/dom/media/webaudio/ChannelSplitterNode.cpp +++ b/dom/media/webaudio/ChannelSplitterNode.cpp @@ -32,7 +32,7 @@ public: aOutput.SetLength(OutputCount()); for (uint16_t i = 0; i < OutputCount(); ++i) { - if (i < aInput[0].mChannelData.Length()) { + if (i < aInput[0].ChannelCount()) { // Split out existing channels AllocateAudioBlock(1, &aOutput[i]); AudioBlockCopyChannelWithScale( diff --git a/dom/media/webaudio/ConvolverNode.cpp b/dom/media/webaudio/ConvolverNode.cpp index 0c12fe5f3d76..58d11e2c9e4f 100644 --- a/dom/media/webaudio/ConvolverNode.cpp +++ b/dom/media/webaudio/ConvolverNode.cpp @@ -131,7 +131,7 @@ public: } else { if (aInput.mVolume != 1.0f) { // Pre-multiply the input's volume - uint32_t numChannels = aInput.mChannelData.Length(); + uint32_t numChannels = aInput.ChannelCount(); AllocateAudioBlock(numChannels, &input); for (uint32_t i = 0; i < numChannels; ++i) { const float* src = static_cast(aInput.mChannelData[i]); diff --git a/dom/media/webaudio/DelayBuffer.cpp b/dom/media/webaudio/DelayBuffer.cpp index d21e36335407..8a1c16aec4f0 100644 --- a/dom/media/webaudio/DelayBuffer.cpp +++ b/dom/media/webaudio/DelayBuffer.cpp @@ -29,7 +29,7 @@ void DelayBuffer::Write(const AudioChunk& aInputChunk) { // We must have a reference to the buffer if there are channels - MOZ_ASSERT(aInputChunk.IsNull() == !aInputChunk.mChannelData.Length()); + MOZ_ASSERT(aInputChunk.IsNull() == !aInputChunk.ChannelCount()); #ifdef DEBUG MOZ_ASSERT(!mHaveWrittenBlock); mHaveWrittenBlock = true; @@ -116,7 +116,7 @@ DelayBuffer::ReadChannels(const double aPerFrameDelays[WEBAUDIO_BLOCK_SIZE], uint32_t aFirstChannel, uint32_t aNumChannelsToRead, ChannelInterpretation aChannelInterpretation) { - uint32_t totalChannelCount = aOutputChunk->mChannelData.Length(); + uint32_t totalChannelCount = aOutputChunk->ChannelCount(); uint32_t readChannelsEnd = aFirstChannel + aNumChannelsToRead; MOZ_ASSERT(readChannelsEnd <= totalChannelCount); diff --git a/dom/media/webaudio/DynamicsCompressorNode.cpp b/dom/media/webaudio/DynamicsCompressorNode.cpp index c7f6aecbdffa..2a0a5ad02528 100644 --- a/dom/media/webaudio/DynamicsCompressorNode.cpp +++ b/dom/media/webaudio/DynamicsCompressorNode.cpp @@ -103,11 +103,11 @@ public: return; } - const uint32_t channelCount = aInput.mChannelData.Length(); + const uint32_t channelCount = aInput.ChannelCount(); if (mCompressor->numberOfChannels() != channelCount) { // Create a new compressor object with a new channel count mCompressor = new WebCore::DynamicsCompressor(aStream->SampleRate(), - aInput.mChannelData.Length()); + aInput.ChannelCount()); } StreamTime pos = aStream->GetCurrentPosition(); diff --git a/dom/media/webaudio/GainNode.cpp b/dom/media/webaudio/GainNode.cpp index ce62d50f325d..ca6f6cd7bdaa 100644 --- a/dom/media/webaudio/GainNode.cpp +++ b/dom/media/webaudio/GainNode.cpp @@ -81,7 +81,7 @@ public: // First, compute a vector of gains for each track tick based on the // timeline at hand, and then for each channel, multiply the values // in the buffer with the gain vector. - AllocateAudioBlock(aInput.mChannelData.Length(), aOutput); + AllocateAudioBlock(aInput.ChannelCount(), aOutput); // Compute the gain values for the duration of the input AudioChunk StreamTime tick = aStream->GetCurrentPosition(); @@ -93,7 +93,7 @@ public: } // Apply the gain to the output buffer - for (size_t channel = 0; channel < aOutput->mChannelData.Length(); ++channel) { + for (size_t channel = 0; channel < aOutput->ChannelCount(); ++channel) { const float* inputBuffer = static_cast (aInput.mChannelData[channel]); float* buffer = aOutput->ChannelFloatsForWrite(channel); AudioBlockCopyChannelWithScale(inputBuffer, computedGain, buffer); diff --git a/dom/media/webaudio/PannerNode.cpp b/dom/media/webaudio/PannerNode.cpp index 8dca61ce9105..76b5bf107049 100644 --- a/dom/media/webaudio/PannerNode.cpp +++ b/dom/media/webaudio/PannerNode.cpp @@ -323,7 +323,7 @@ PannerNodeEngine::EqualPowerPanningFunction(const AudioChunk& aInput, AudioChunk* aOutput) { float azimuth, elevation, gainL, gainR, normalizedAzimuth, distanceGain, coneGain; - int inputChannels = aInput.mChannelData.Length(); + int inputChannels = aInput.ChannelCount(); // If both the listener are in the same spot, and no cone gain is specified, // this node is noop. diff --git a/dom/media/webaudio/PanningUtils.h b/dom/media/webaudio/PanningUtils.h index dfe7a84afece..4895ec0a1b0c 100644 --- a/dom/media/webaudio/PanningUtils.h +++ b/dom/media/webaudio/PanningUtils.h @@ -52,7 +52,7 @@ template void ApplyStereoPanning(const AudioChunk& aInput, AudioChunk* aOutput, T aGainL, T aGainR, U aOnLeft) { - if (aInput.mChannelData.Length() == 1) { + if (aInput.ChannelCount() == 1) { GainMonoToStereo(aInput, aOutput, aGainL, aGainR); } else { GainStereoToStereo(aInput, aOutput, aGainL, aGainR, aOnLeft); diff --git a/dom/media/webaudio/ScriptProcessorNode.cpp b/dom/media/webaudio/ScriptProcessorNode.cpp index 9749d2c0dfae..c74761ac56f7 100644 --- a/dom/media/webaudio/ScriptProcessorNode.cpp +++ b/dom/media/webaudio/ScriptProcessorNode.cpp @@ -315,7 +315,7 @@ public: PodZero(writeData, aInput.GetDuration()); } else { MOZ_ASSERT(aInput.GetDuration() == WEBAUDIO_BLOCK_SIZE, "sanity check"); - MOZ_ASSERT(aInput.mChannelData.Length() == inputChannelCount); + MOZ_ASSERT(aInput.ChannelCount() == inputChannelCount); AudioBlockCopyChannelWithScale(static_cast(aInput.mChannelData[i]), aInput.mVolume, writeData); } diff --git a/dom/media/webaudio/WaveShaperNode.cpp b/dom/media/webaudio/WaveShaperNode.cpp index 56465cf053af..d9943191985a 100644 --- a/dom/media/webaudio/WaveShaperNode.cpp +++ b/dom/media/webaudio/WaveShaperNode.cpp @@ -219,7 +219,7 @@ public: AudioChunk* aOutput, bool* aFinished) override { - uint32_t channelCount = aInput.mChannelData.Length(); + uint32_t channelCount = aInput.ChannelCount(); if (!mCurve.Length() || !channelCount) { // Optimize the case where we don't have a curve buffer, // or the input is null. diff --git a/dom/media/webaudio/blink/DynamicsCompressor.cpp b/dom/media/webaudio/blink/DynamicsCompressor.cpp index 746356d1d018..2b6eb85e1c8b 100644 --- a/dom/media/webaudio/blink/DynamicsCompressor.cpp +++ b/dom/media/webaudio/blink/DynamicsCompressor.cpp @@ -154,8 +154,8 @@ void DynamicsCompressor::process(const AudioChunk* sourceChunk, AudioChunk* dest // It's because we internally match sourceChannels's size to destinationBus by channel up/down mix. Thus we need numberOfChannels // to do the loop work for both m_sourceChannels and m_destinationChannels. - unsigned numberOfChannels = destinationChunk->mChannelData.Length(); - unsigned numberOfSourceChannels = sourceChunk->mChannelData.Length(); + unsigned numberOfChannels = destinationChunk->ChannelCount(); + unsigned numberOfSourceChannels = sourceChunk->ChannelCount(); MOZ_ASSERT(numberOfChannels == m_numberOfChannels && numberOfSourceChannels); diff --git a/dom/media/webaudio/blink/HRTFPanner.cpp b/dom/media/webaudio/blink/HRTFPanner.cpp index 54f08e21bf54..4bccab22a8c8 100644 --- a/dom/media/webaudio/blink/HRTFPanner.cpp +++ b/dom/media/webaudio/blink/HRTFPanner.cpp @@ -132,13 +132,13 @@ void HRTFPanner::pan(double desiredAzimuth, double elevation, const AudioChunk* { #ifdef DEBUG unsigned numInputChannels = - inputBus->IsNull() ? 0 : inputBus->mChannelData.Length(); + inputBus->IsNull() ? 0 : inputBus->ChannelCount(); MOZ_ASSERT(numInputChannels <= 2); MOZ_ASSERT(inputBus->mDuration == WEBAUDIO_BLOCK_SIZE); #endif - bool isOutputGood = outputBus && outputBus->mChannelData.Length() == 2 && outputBus->mDuration == WEBAUDIO_BLOCK_SIZE; + bool isOutputGood = outputBus && outputBus->ChannelCount() == 2 && outputBus->mDuration == WEBAUDIO_BLOCK_SIZE; MOZ_ASSERT(isOutputGood); if (!isOutputGood) { diff --git a/dom/media/webaudio/blink/Reverb.cpp b/dom/media/webaudio/blink/Reverb.cpp index a4f380e14d54..326511c5837e 100644 --- a/dom/media/webaudio/blink/Reverb.cpp +++ b/dom/media/webaudio/blink/Reverb.cpp @@ -154,7 +154,7 @@ void Reverb::process(const AudioChunk* sourceBus, AudioChunk* destinationBus, si { // Do a fairly comprehensive sanity check. // If these conditions are satisfied, all of the source and destination pointers will be valid for the various matrixing cases. - bool isSafeToProcess = sourceBus && destinationBus && sourceBus->mChannelData.Length() > 0 && destinationBus->mChannelData.Length() > 0 + bool isSafeToProcess = sourceBus && destinationBus && sourceBus->ChannelCount() > 0 && destinationBus->mChannelData.Length() > 0 && framesToProcess <= MaxFrameSize && framesToProcess <= size_t(sourceBus->mDuration) && framesToProcess <= size_t(destinationBus->mDuration); MOZ_ASSERT(isSafeToProcess); @@ -162,14 +162,14 @@ void Reverb::process(const AudioChunk* sourceBus, AudioChunk* destinationBus, si return; // For now only handle mono or stereo output - MOZ_ASSERT(destinationBus->mChannelData.Length() <= 2); + MOZ_ASSERT(destinationBus->ChannelCount() <= 2); float* destinationChannelL = static_cast(const_cast(destinationBus->mChannelData[0])); const float* sourceBusL = static_cast(sourceBus->mChannelData[0]); // Handle input -> output matrixing... - size_t numInputChannels = sourceBus->mChannelData.Length(); - size_t numOutputChannels = destinationBus->mChannelData.Length(); + size_t numInputChannels = sourceBus->ChannelCount(); + size_t numOutputChannels = destinationBus->ChannelCount(); size_t numReverbChannels = m_convolvers.Length(); if (numInputChannels == 2 && numReverbChannels == 2 && numOutputChannels == 2) {