Title: [95124] trunk/Source/WebCore
- Revision
- 95124
- Author
- crog...@google.com
- Date
- 2011-09-14 14:39:34 -0700 (Wed, 14 Sep 2011)
Log Message
Address lifetime issues in OfflineAudioDestinationNode (take 2)
https://bugs.webkit.org/show_bug.cgi?id=68111
Reviewed by Kenneth Russell.
No new tests. This fixes existing layout tests.
* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::render):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (95123 => 95124)
--- trunk/Source/WebCore/ChangeLog 2011-09-14 21:33:01 UTC (rev 95123)
+++ trunk/Source/WebCore/ChangeLog 2011-09-14 21:39:34 UTC (rev 95124)
@@ -1,3 +1,18 @@
+2011-09-14 Chris Rogers <crog...@google.com>
+
+ Address lifetime issues in OfflineAudioDestinationNode (take 2)
+ https://bugs.webkit.org/show_bug.cgi?id=68111
+
+ Reviewed by Kenneth Russell.
+
+ No new tests. This fixes existing layout tests.
+
+ * webaudio/OfflineAudioDestinationNode.cpp:
+ (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
+ (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
+ (WebCore::OfflineAudioDestinationNode::startRendering):
+ (WebCore::OfflineAudioDestinationNode::render):
+
2011-09-14 David Hyatt <hy...@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=68103
Modified: trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp (95123 => 95124)
--- trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp 2011-09-14 21:33:01 UTC (rev 95123)
+++ trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp 2011-09-14 21:39:34 UTC (rev 95124)
@@ -43,6 +43,7 @@
OfflineAudioDestinationNode::OfflineAudioDestinationNode(AudioContext* context, AudioBuffer* renderTarget)
: AudioDestinationNode(context, renderTarget->sampleRate())
, m_renderTarget(renderTarget)
+ , m_renderThread(0)
, m_startedRendering(false)
{
m_renderBus = adoptPtr(new AudioBus(renderTarget->numberOfChannels(), renderQuantumSize));
@@ -52,9 +53,6 @@
OfflineAudioDestinationNode::~OfflineAudioDestinationNode()
{
- if (m_renderThread)
- waitForThreadCompletion(m_renderThread, 0);
-
uninitialize();
}
@@ -83,6 +81,7 @@
if (!m_startedRendering) {
m_startedRendering = true;
+ ref(); // See corresponding deref() call in notifyCompleteDispatch().
m_renderThread = createThread(OfflineAudioDestinationNode::renderEntry, this, "offline renderer");
}
}
@@ -146,8 +145,6 @@
}
// Our work is done. Let the AudioContext know.
- // See corresponding deref() call in notifyCompleteDispatch().
- ref();
callOnMainThread(notifyCompleteDispatch, this);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes