Index: Source/modules/webaudio/AudioNodeOutput.cpp |
diff --git a/Source/modules/webaudio/AudioNodeOutput.cpp b/Source/modules/webaudio/AudioNodeOutput.cpp |
index 1fe40b2379f3c87c713c5dcc6a4ab39ebf9736e2..754a442542271eceecd70def60ec89be27b0bafc 100644 |
--- a/Source/modules/webaudio/AudioNodeOutput.cpp |
+++ b/Source/modules/webaudio/AudioNodeOutput.cpp |
@@ -190,6 +190,18 @@ void AudioNodeOutput::disconnectAllInputs() |
m_inputs.begin()->key->disconnect(*this); |
} |
+void AudioNodeOutput::disconnectInput(AudioNodeInput& input) |
+{ |
+ ASSERT(context()->isGraphOwner() && isConnectedToInput(input)); |
+ input.disconnect(*this); |
+} |
+ |
+void AudioNodeOutput::disconnectAudioParam(AudioParam& param) |
+{ |
+ ASSERT(context()->isGraphOwner() && isConnectedToAudioParam(param)); |
+ param.disconnect(*this); |
+} |
+ |
void AudioNodeOutput::addParam(AudioParam& param) |
{ |
ASSERT(context()->isGraphOwner()); |
@@ -217,6 +229,18 @@ void AudioNodeOutput::disconnectAll() |
disconnectAllParams(); |
} |
+bool AudioNodeOutput::isConnectedToInput(AudioNodeInput& input) |
+{ |
+ ASSERT(context()->isGraphOwner()); |
+ return m_inputs.contains(&input); |
+} |
+ |
+bool AudioNodeOutput::isConnectedToAudioParam(AudioParam& param) |
+{ |
+ ASSERT(context()->isGraphOwner()); |
+ return m_params.contains(¶m); |
+} |
+ |
void AudioNodeOutput::disable() |
{ |
ASSERT(context()->isGraphOwner()); |