Title: [108022] trunk/Source/WebCore
Revision
108022
Author
[email protected]
Date
2012-02-16 20:36:50 -0800 (Thu, 16 Feb 2012)

Log Message

Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=76509

Patch by Raymond Liu <[email protected]> on 2012-02-16
Reviewed by Eric Seidel.

No new tests required.

* webaudio/AudioDestinationNode.h:
* webaudio/AudioNode.h:
(WebCore::AudioNode::sampleRate):
* webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
* webaudio/DefaultAudioDestinationNode.h:
* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
* webaudio/OfflineAudioDestinationNode.h:
(WebCore::OfflineAudioDestinationNode::sampleRate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (108021 => 108022)


--- trunk/Source/WebCore/ChangeLog	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/ChangeLog	2012-02-17 04:36:50 UTC (rev 108022)
@@ -1,3 +1,23 @@
+2012-02-16  Raymond Liu  <[email protected]>
+
+        Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
+        https://bugs.webkit.org/show_bug.cgi?id=76509
+
+        Reviewed by Eric Seidel.
+
+        No new tests required.
+
+        * webaudio/AudioDestinationNode.h:
+        * webaudio/AudioNode.h:
+        (WebCore::AudioNode::sampleRate):
+        * webaudio/DefaultAudioDestinationNode.cpp:
+        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
+        * webaudio/DefaultAudioDestinationNode.h:
+        * webaudio/OfflineAudioDestinationNode.cpp:
+        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
+        * webaudio/OfflineAudioDestinationNode.h:
+        (WebCore::OfflineAudioDestinationNode::sampleRate):
+
 2012-02-16  Shinya Kawanaka  <[email protected]>
 
         [Refactoring] Remove location from NodeRenderingContext.

Modified: trunk/Source/WebCore/webaudio/AudioDestinationNode.h (108021 => 108022)


--- trunk/Source/WebCore/webaudio/AudioDestinationNode.h	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/AudioDestinationNode.h	2012-02-17 04:36:50 UTC (rev 108022)
@@ -49,8 +49,6 @@
     size_t currentSampleFrame() { return m_currentSampleFrame; }
     double currentTime() { return currentSampleFrame() / static_cast<double>(sampleRate()); }
 
-    virtual float sampleRate() const = 0;
-
     virtual unsigned numberOfChannels() const { return 2; } // FIXME: update when multi-channel (more than stereo) is supported
 
     virtual void startRendering() = 0;

Modified: trunk/Source/WebCore/webaudio/AudioNode.h (108021 => 108022)


--- trunk/Source/WebCore/webaudio/AudioNode.h	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/AudioNode.h	2012-02-17 04:36:50 UTC (rev 108022)
@@ -118,7 +118,7 @@
     void connect(AudioNode*, unsigned outputIndex, unsigned inputIndex, ExceptionCode&);
     void disconnect(unsigned outputIndex, ExceptionCode&);
 
-    float sampleRate() const { return m_sampleRate; }
+    virtual float sampleRate() const { return m_sampleRate; }
 
     // processIfNecessary() is called by our output(s) when the rendering graph needs this AudioNode to process.
     // This method ensures that the AudioNode will only process once per rendering time quantum even if it's called repeatedly.

Modified: trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp (108021 => 108022)


--- trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp	2012-02-17 04:36:50 UTC (rev 108022)
@@ -35,7 +35,6 @@
 DefaultAudioDestinationNode::DefaultAudioDestinationNode(AudioContext* context)
     : AudioDestinationNode(context, AudioDestination::hardwareSampleRate())
 {
-    initialize();
 }
 
 DefaultAudioDestinationNode::~DefaultAudioDestinationNode()

Modified: trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.h (108021 => 108022)


--- trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.h	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/DefaultAudioDestinationNode.h	2012-02-17 04:36:50 UTC (rev 108022)
@@ -45,9 +45,6 @@
     // AudioNode   
     virtual void initialize();
     virtual void uninitialize();
-    
-    float sampleRate() const { return m_destination->sampleRate(); }
-
     virtual void startRendering();
     
 private:

Modified: trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp (108021 => 108022)


--- trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp	2012-02-17 04:36:50 UTC (rev 108022)
@@ -47,8 +47,6 @@
     , m_startedRendering(false)
 {
     m_renderBus = adoptPtr(new AudioBus(renderTarget->numberOfChannels(), renderQuantumSize));
-    
-    initialize();
 }
 
 OfflineAudioDestinationNode::~OfflineAudioDestinationNode()

Modified: trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.h (108021 => 108022)


--- trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.h	2012-02-17 04:13:49 UTC (rev 108021)
+++ trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.h	2012-02-17 04:36:50 UTC (rev 108022)
@@ -48,8 +48,7 @@
     // AudioNode   
     virtual void initialize();
     virtual void uninitialize();
-    
-    float sampleRate() const { return m_renderTarget->sampleRate(); }
+    virtual float sampleRate() const { return m_renderTarget->sampleRate(); }
 
     void startRendering();
     
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to