ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
authorjames.wei@intel.com <james.wei@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Apr 2013 22:35:53 +0000 (22:35 +0000)
committerjames.wei@intel.com <james.wei@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Apr 2013 22:35:53 +0000 (22:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=112657

Avoid to access input bus in checkNumberOfChannelsForInput() before the
bus is updated with AudioNode::checkNumberOfChannelsForInput().

Reviewed by Chris Rogers.

* Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@148555 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp

index 006c4b75e5d2fe783a38de0ad0893c76babd5dcf..febb89004764c9ca160b384e3596c07dcf4f5f8f 100644 (file)
@@ -1,3 +1,16 @@
+2013-04-16  Wei James  <james.wei@intel.com>
+
+        ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
+        https://bugs.webkit.org/show_bug.cgi?id=112657
+
+        Avoid to access input bus in checkNumberOfChannelsForInput() before the
+        bus is updated with AudioNode::checkNumberOfChannelsForInput().
+
+        Reviewed by Chris Rogers.
+
+        * Modules/webaudio/ChannelMergerNode.cpp:
+        (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
+
 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
 
         Even more Windows build fix and a Qt minimal build fix attempt.
index 9a63ef7e2f02c9d8d5017280e7d2e2fc9370b62a..9517800dbec2fb9ab9bedb9a0876444a3e59df76 100644 (file)
@@ -111,7 +111,7 @@ void ChannelMergerNode::checkNumberOfChannelsForInput(AudioNodeInput* input)
     for (unsigned i = 0; i < numberOfInputs(); ++i) {
         AudioNodeInput* input = this->input(i);
         if (input->isConnected())
-            numberOfOutputChannels += input->bus()->numberOfChannels();
+            numberOfOutputChannels += input->numberOfChannels();
     }
 
     // Set the correct number of channels on the output