Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1984)

Unified Diff: Source/modules/webaudio/AudioBufferSourceNode.cpp

Issue 385953003: Revert of WebAudio: Remove AudioNode::RefType. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/webaudio/AudioBufferSourceNode.h ('k') | Source/modules/webaudio/AudioContext.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/webaudio/AudioBufferSourceNode.cpp
diff --git a/Source/modules/webaudio/AudioBufferSourceNode.cpp b/Source/modules/webaudio/AudioBufferSourceNode.cpp
index ece7407abbbd4f8dfdd6abf5cb509d2e6d026bcf..f0abe553f0de66f8fcc6bb9200a0f0feb28314d1 100644
--- a/Source/modules/webaudio/AudioBufferSourceNode.cpp
+++ b/Source/modules/webaudio/AudioBufferSourceNode.cpp
@@ -62,6 +62,7 @@
, m_isGrain(false)
, m_grainOffset(0.0)
, m_grainDuration(DefaultGrainDuration)
+ , m_pannerNode(0)
{
ScriptWrappable::init(this);
setNodeType(NodeTypeAudioBufferSource);
@@ -449,20 +450,20 @@
void AudioBufferSourceNode::setPannerNode(PannerNode* pannerNode)
{
if (m_pannerNode != pannerNode && !hasFinished()) {
- RefPtr<PannerNode> oldPannerNode(m_pannerNode.release());
+ if (pannerNode)
+ pannerNode->ref(AudioNode::RefTypeConnection);
+ if (m_pannerNode)
+ m_pannerNode->deref(AudioNode::RefTypeConnection);
+
m_pannerNode = pannerNode;
- if (pannerNode)
- pannerNode->makeConnection();
- if (oldPannerNode)
- oldPannerNode->breakConnection();
}
}
void AudioBufferSourceNode::clearPannerNode()
{
if (m_pannerNode) {
- m_pannerNode->breakConnection();
- m_pannerNode.clear();
+ m_pannerNode->deref(AudioNode::RefTypeConnection);
+ m_pannerNode = 0;
}
}
« no previous file with comments | « Source/modules/webaudio/AudioBufferSourceNode.h ('k') | Source/modules/webaudio/AudioContext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698