Bug 891254 - Fix the usage of uninitialized samples when the input to a ConvolverNode has a volume; r=roc
authorEhsan Akhgari <ehsan@mozilla.com>
Thu, 18 Jul 2013 10:22:47 -0400
changeset 139084 58848bcf82e4ab3c1ccec1267015eaafc8838b59
parent 139083 27377c1b3282db20fd8b17085b236e30fb68d087
child 139085 e9195ed6516144b5f35732795342364f4f263825
push id24977
push userryanvm@gmail.com
push dateFri, 19 Jul 2013 00:35:38 +0000
treeherdermozilla-central@0d0263a58f06 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs891254
milestone25.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 891254 - Fix the usage of uninitialized samples when the input to a ConvolverNode has a volume; r=roc
content/media/webaudio/ConvolverNode.cpp
--- a/content/media/webaudio/ConvolverNode.cpp
+++ b/content/media/webaudio/ConvolverNode.cpp
@@ -139,17 +139,17 @@ public:
     } else {
       if (aInput.mVolume != 1.0f) {
         // Pre-multiply the input's volume
         uint32_t numChannels = aInput.mChannelData.Length();
         AllocateAudioBlock(numChannels, &input);
         for (uint32_t i = 0; i < numChannels; ++i) {
           const float* src = static_cast<const float*>(aInput.mChannelData[i]);
           float* dest = static_cast<float*>(const_cast<void*>(input.mChannelData[i]));
-          AudioBlockAddChannelWithScale(src, aInput.mVolume, dest);
+          AudioBlockCopyChannelWithScale(src, aInput.mVolume, dest);
         }
       }
 
       if (mLeftOverData <= 0) {
         nsRefPtr<PlayingRefChanged> refchanged =
           new PlayingRefChanged(aStream, PlayingRefChanged::ADDREF);
         NS_DispatchToMainThread(refchanged);
       }