Diff
Modified: trunk/Source/WebCore/ChangeLog (267542 => 267543)
--- trunk/Source/WebCore/ChangeLog 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/ChangeLog 2020-09-24 19:57:28 UTC (rev 267543)
@@ -1,5 +1,56 @@
2020-09-24 Chris Dumez <[email protected]>
+ Simplify AudioNode::addInput() / addOutput() call sites
+ https://bugs.webkit.org/show_bug.cgi?id=216941
+
+ Reviewed by Darin Adler.
+
+ Simplify AudioNode::addInput() / addOutput() call sites by moving the input / output
+ node construction from the call site to the function implementation.
+
+ * Modules/webaudio/AnalyserNode.cpp:
+ (WebCore::AnalyserNode::AnalyserNode):
+ * Modules/webaudio/AudioBasicInspectorNode.cpp:
+ (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
+ * Modules/webaudio/AudioBasicProcessorNode.cpp:
+ (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
+ * Modules/webaudio/AudioBufferSourceNode.cpp:
+ (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
+ * Modules/webaudio/AudioDestinationNode.cpp:
+ (WebCore::AudioDestinationNode::AudioDestinationNode):
+ * Modules/webaudio/AudioNode.cpp:
+ (WebCore::AudioNode::addInput):
+ (WebCore::AudioNode::addOutput):
+ * Modules/webaudio/AudioNode.h:
+ * Modules/webaudio/ChannelMergerNode.cpp:
+ (WebCore::ChannelMergerNode::ChannelMergerNode):
+ * Modules/webaudio/ChannelSplitterNode.cpp:
+ (WebCore::ChannelSplitterNode::ChannelSplitterNode):
+ * Modules/webaudio/ConstantSourceNode.cpp:
+ (WebCore::ConstantSourceNode::ConstantSourceNode):
+ * Modules/webaudio/ConvolverNode.cpp:
+ (WebCore::ConvolverNode::ConvolverNode):
+ * Modules/webaudio/DynamicsCompressorNode.cpp:
+ (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
+ * Modules/webaudio/GainNode.cpp:
+ (WebCore::GainNode::GainNode):
+ * Modules/webaudio/MediaElementAudioSourceNode.cpp:
+ (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
+ * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
+ (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
+ * Modules/webaudio/OscillatorNode.cpp:
+ (WebCore::OscillatorNode::OscillatorNode):
+ * Modules/webaudio/PannerNode.cpp:
+ (WebCore::PannerNode::PannerNode):
+ * Modules/webaudio/ScriptProcessorNode.cpp:
+ (WebCore::ScriptProcessorNode::ScriptProcessorNode):
+ * Modules/webaudio/StereoPannerNode.cpp:
+ (WebCore::StereoPannerNode::StereoPannerNode):
+ * Modules/webaudio/WebKitAudioPannerNode.cpp:
+ (WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
+
+2020-09-24 Chris Dumez <[email protected]>
+
Declare render quantum size constant in AudioUtilities.h
https://bugs.webkit.org/show_bug.cgi?id=216935
Modified: trunk/Source/WebCore/Modules/webaudio/AnalyserNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AnalyserNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AnalyserNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -68,7 +68,7 @@
: AudioBasicInspectorNode(context)
{
setNodeType(NodeTypeAnalyser);
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addOutput(2);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -40,7 +40,7 @@
: AudioNode(context)
{
setNodeType(NodeTypeBasicInspector);
- addInput(makeUnique<AudioNodeInput>(this));
+ addInput();
}
// We override pullInputs() as an optimization allowing this node to take advantage of in-place processing,
Modified: trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -42,8 +42,8 @@
AudioBasicProcessorNode::AudioBasicProcessorNode(BaseAudioContext& context)
: AudioNode(context)
{
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addInput();
+ addOutput(1);
// The subclass must create m_processor.
}
Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -97,7 +97,7 @@
setNodeType(NodeTypeAudioBufferSource);
// Default to mono. A call to setBuffer() will set the number of output channels to that of the buffer.
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -47,7 +47,7 @@
, m_muted(false)
{
setNodeType(NodeTypeDestination);
- addInput(makeUnique<AudioNodeInput>(this));
+ addInput();
}
AudioDestinationNode::~AudioDestinationNode()
Modified: trunk/Source/WebCore/Modules/webaudio/AudioNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -158,18 +158,18 @@
initialize();
}
-void AudioNode::addInput(std::unique_ptr<AudioNodeInput> input)
+void AudioNode::addInput()
{
ASSERT(isMainThread());
- INFO_LOG(LOGIDENTIFIER, input->node()->nodeType());
- m_inputs.append(WTFMove(input));
+ INFO_LOG(LOGIDENTIFIER);
+ m_inputs.append(makeUnique<AudioNodeInput>(this));
}
-void AudioNode::addOutput(std::unique_ptr<AudioNodeOutput> output)
+void AudioNode::addOutput(unsigned numberOfChannels)
{
ASSERT(isMainThread());
- INFO_LOG(LOGIDENTIFIER, output->node()->nodeType());
- m_outputs.append(WTFMove(output));
+ INFO_LOG(LOGIDENTIFIER);
+ m_outputs.append(makeUnique<AudioNodeOutput>(this, numberOfChannels));
}
AudioNodeInput* AudioNode::input(unsigned i)
Modified: trunk/Source/WebCore/Modules/webaudio/AudioNode.h (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/AudioNode.h 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNode.h 2020-09-24 19:57:28 UTC (rev 267543)
@@ -199,8 +199,8 @@
protected:
// Inputs and outputs must be created before the AudioNode is initialized.
- void addInput(std::unique_ptr<AudioNodeInput>);
- void addOutput(std::unique_ptr<AudioNodeOutput>);
+ void addInput();
+ void addOutput(unsigned numberOfChannels);
struct DefaultAudioNodeOptions {
unsigned channelCount;
Modified: trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -67,9 +67,9 @@
// Create the requested number of inputs.
for (unsigned i = 0; i < numberOfInputs; ++i)
- addInput(makeUnique<AudioNodeInput>(this));
+ addInput();
- addOutput(makeUnique<AudioNodeOutput>(this, numberOfInputs));
+ addOutput(numberOfInputs);
initialize();
Modified: trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -61,11 +61,11 @@
{
setNodeType(NodeTypeChannelSplitter);
- addInput(makeUnique<AudioNodeInput>(this));
+ addInput();
// Create a fixed number of outputs (able to handle the maximum number of channels fed to an input).
for (unsigned i = 0; i < numberOfOutputs; ++i)
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/ConstantSourceNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/ConstantSourceNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/ConstantSourceNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -59,7 +59,7 @@
, m_sampleAccurateValues(AudioUtilities::renderQuantumSize)
{
setNodeType(NodeTypeConstant);
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -82,8 +82,8 @@
{
setNodeType(NodeTypeConvolver);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addInput();
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -71,8 +71,8 @@
{
setNodeType(NodeTypeDynamicsCompressor);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, defaultNumberOfOutputChannels));
+ addInput();
+ addOutput(defaultNumberOfOutputChannels);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/GainNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/GainNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/GainNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -62,8 +62,8 @@
{
setNodeType(NodeTypeGain);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addInput();
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -72,7 +72,7 @@
setNodeType(NodeTypeMediaElementAudioSource);
// Default to stereo. This could change depending on what the media element .src is set to.
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addOutput(2);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -83,7 +83,7 @@
audioSourceProvider->setClient(this);
// Default to stereo. This could change depending on the format of the MediaStream's audio track.
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addOutput(2);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -101,7 +101,7 @@
setNodeType(NodeTypeOscillator);
// An oscillator is always mono.
- addOutput(makeUnique<AudioNodeOutput>(this, 1));
+ addOutput(1);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -104,8 +104,8 @@
setConeInnerAngle(options.coneInnerAngle);
setConeOuterAngle(options.coneOuterAngle);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addInput();
+ addOutput(2);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -69,8 +69,8 @@
setNodeType(NodeTypeJavaScript);
initializeDefaultNodeOptions(numberOfInputChannels, ChannelCountMode::Explicit, ChannelInterpretation::Speakers);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, numberOfOutputChannels));
+ addInput();
+ addOutput(numberOfOutputChannels);
initialize();
suspendIfNeeded();
Modified: trunk/Source/WebCore/Modules/webaudio/StereoPannerNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/StereoPannerNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/StereoPannerNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -62,8 +62,8 @@
{
setNodeType(NodeTypeStereo);
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addInput();
+ addOutput(2);
initialize();
}
Modified: trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp (267542 => 267543)
--- trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp 2020-09-24 19:08:17 UTC (rev 267542)
+++ trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp 2020-09-24 19:57:28 UTC (rev 267543)
@@ -59,8 +59,8 @@
// Load the HRTF database asynchronously so we don't block the _javascript_ thread while creating the HRTF database.
m_hrtfDatabaseLoader = HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary(context.sampleRate());
- addInput(makeUnique<AudioNodeInput>(this));
- addOutput(makeUnique<AudioNodeOutput>(this, 2));
+ addInput();
+ addOutput(2);
m_position = FloatPoint3D(0, 0, 0);
m_orientation = FloatPoint3D(1, 0, 0);