⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 267543 in webkit


Ignore:
Timestamp:
Sep 24, 2020, 12:57:28 PM (6 years ago)
Author:
Chris Dumez
Message:

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):

Location:
trunk/Source/WebCore
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r267541 r267543  
     12020-09-24  Chris Dumez  <cdumez@apple.com>
     2
     3        Simplify AudioNode::addInput() / addOutput() call sites
     4        https://bugs.webkit.org/show_bug.cgi?id=216941
     5
     6        Reviewed by Darin Adler.
     7
     8        Simplify AudioNode::addInput() / addOutput() call sites by moving the input / output
     9        node construction from the call site to the function implementation.
     10
     11        * Modules/webaudio/AnalyserNode.cpp:
     12        (WebCore::AnalyserNode::AnalyserNode):
     13        * Modules/webaudio/AudioBasicInspectorNode.cpp:
     14        (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
     15        * Modules/webaudio/AudioBasicProcessorNode.cpp:
     16        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
     17        * Modules/webaudio/AudioBufferSourceNode.cpp:
     18        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
     19        * Modules/webaudio/AudioDestinationNode.cpp:
     20        (WebCore::AudioDestinationNode::AudioDestinationNode):
     21        * Modules/webaudio/AudioNode.cpp:
     22        (WebCore::AudioNode::addInput):
     23        (WebCore::AudioNode::addOutput):
     24        * Modules/webaudio/AudioNode.h:
     25        * Modules/webaudio/ChannelMergerNode.cpp:
     26        (WebCore::ChannelMergerNode::ChannelMergerNode):
     27        * Modules/webaudio/ChannelSplitterNode.cpp:
     28        (WebCore::ChannelSplitterNode::ChannelSplitterNode):
     29        * Modules/webaudio/ConstantSourceNode.cpp:
     30        (WebCore::ConstantSourceNode::ConstantSourceNode):
     31        * Modules/webaudio/ConvolverNode.cpp:
     32        (WebCore::ConvolverNode::ConvolverNode):
     33        * Modules/webaudio/DynamicsCompressorNode.cpp:
     34        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
     35        * Modules/webaudio/GainNode.cpp:
     36        (WebCore::GainNode::GainNode):
     37        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
     38        (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
     39        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
     40        (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
     41        * Modules/webaudio/OscillatorNode.cpp:
     42        (WebCore::OscillatorNode::OscillatorNode):
     43        * Modules/webaudio/PannerNode.cpp:
     44        (WebCore::PannerNode::PannerNode):
     45        * Modules/webaudio/ScriptProcessorNode.cpp:
     46        (WebCore::ScriptProcessorNode::ScriptProcessorNode):
     47        * Modules/webaudio/StereoPannerNode.cpp:
     48        (WebCore::StereoPannerNode::StereoPannerNode):
     49        * Modules/webaudio/WebKitAudioPannerNode.cpp:
     50        (WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
     51
    1522020-09-24  Chris Dumez  <cdumez@apple.com>
    253
  • trunk/Source/WebCore/Modules/webaudio/AnalyserNode.cpp

    r267537 r267543  
    6969{
    7070    setNodeType(NodeTypeAnalyser);
    71     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     71    addOutput(2);
    7272   
    7373    initialize();
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp

    r267252 r267543  
    4141{
    4242    setNodeType(NodeTypeBasicInspector);
    43     addInput(makeUnique<AudioNodeInput>(this));
     43    addInput();
    4444}
    4545
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp

    r267537 r267543  
    4343    : AudioNode(context)
    4444{
    45     addInput(makeUnique<AudioNodeInput>(this));
    46     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     45    addInput();
     46    addOutput(1);
    4747
    4848    // The subclass must create m_processor.
  • trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp

    r267537 r267543  
    9898
    9999    // Default to mono.  A call to setBuffer() will set the number of output channels to that of the buffer.
    100     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     100    addOutput(1);
    101101
    102102    initialize();
  • trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp

    r265797 r267543  
    4848{
    4949    setNodeType(NodeTypeDestination);
    50     addInput(makeUnique<AudioNodeInput>(this));
     50    addInput();
    5151}
    5252
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.cpp

    r267432 r267543  
    159159}
    160160
    161 void AudioNode::addInput(std::unique_ptr<AudioNodeInput> input)
    162 {
    163     ASSERT(isMainThread());
    164     INFO_LOG(LOGIDENTIFIER, input->node()->nodeType());
    165     m_inputs.append(WTFMove(input));
    166 }
    167 
    168 void AudioNode::addOutput(std::unique_ptr<AudioNodeOutput> output)
    169 {
    170     ASSERT(isMainThread());
    171     INFO_LOG(LOGIDENTIFIER, output->node()->nodeType());
    172     m_outputs.append(WTFMove(output));
     161void AudioNode::addInput()
     162{
     163    ASSERT(isMainThread());
     164    INFO_LOG(LOGIDENTIFIER);
     165    m_inputs.append(makeUnique<AudioNodeInput>(this));
     166}
     167
     168void AudioNode::addOutput(unsigned numberOfChannels)
     169{
     170    ASSERT(isMainThread());
     171    INFO_LOG(LOGIDENTIFIER);
     172    m_outputs.append(makeUnique<AudioNodeOutput>(this, numberOfChannels));
    173173}
    174174
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.h

    r267541 r267543  
    200200protected:
    201201    // Inputs and outputs must be created before the AudioNode is initialized.
    202     void addInput(std::unique_ptr<AudioNodeInput>);
    203     void addOutput(std::unique_ptr<AudioNodeOutput>);
     202    void addInput();
     203    void addOutput(unsigned numberOfChannels);
    204204
    205205    struct DefaultAudioNodeOptions {
  • trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp

    r267537 r267543  
    6868    // Create the requested number of inputs.
    6969    for (unsigned i = 0; i < numberOfInputs; ++i)
    70         addInput(makeUnique<AudioNodeInput>(this));
     70        addInput();
    7171
    72     addOutput(makeUnique<AudioNodeOutput>(this, numberOfInputs));
     72    addOutput(numberOfInputs);
    7373   
    7474    initialize();
  • trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp

    r267537 r267543  
    6262    setNodeType(NodeTypeChannelSplitter);
    6363
    64     addInput(makeUnique<AudioNodeInput>(this));
     64    addInput();
    6565
    6666    // Create a fixed number of outputs (able to handle the maximum number of channels fed to an input).
    6767    for (unsigned i = 0; i < numberOfOutputs; ++i)
    68         addOutput(makeUnique<AudioNodeOutput>(this, 1));
     68        addOutput(1);
    6969   
    7070    initialize();
  • trunk/Source/WebCore/Modules/webaudio/ConstantSourceNode.cpp

    r267541 r267543  
    6060{
    6161    setNodeType(NodeTypeConstant);
    62     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     62    addOutput(1);
    6363    initialize();
    6464}
  • trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp

    r267541 r267543  
    8383    setNodeType(NodeTypeConvolver);
    8484
    85     addInput(makeUnique<AudioNodeInput>(this));
    86     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     85    addInput();
     86    addOutput(1);
    8787   
    8888    initialize();
  • trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.cpp

    r267541 r267543  
    7272    setNodeType(NodeTypeDynamicsCompressor);
    7373
    74     addInput(makeUnique<AudioNodeInput>(this));
    75     addOutput(makeUnique<AudioNodeOutput>(this, defaultNumberOfOutputChannels));
     74    addInput();
     75    addOutput(defaultNumberOfOutputChannels);
    7676
    7777    initialize();
  • trunk/Source/WebCore/Modules/webaudio/GainNode.cpp

    r267541 r267543  
    6363    setNodeType(NodeTypeGain);
    6464
    65     addInput(makeUnique<AudioNodeInput>(this));
    66     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     65    addInput();
     66    addOutput(1);
    6767
    6868    initialize();
  • trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp

    r267537 r267543  
    7373
    7474    // Default to stereo. This could change depending on what the media element .src is set to.
    75     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     75    addOutput(2);
    7676
    7777    initialize();
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp

    r265375 r267543  
    8484   
    8585    // Default to stereo. This could change depending on the format of the MediaStream's audio track.
    86     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     86    addOutput(2);
    8787
    8888    initialize();
  • trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp

    r267541 r267543  
    102102   
    103103    // An oscillator is always mono.
    104     addOutput(makeUnique<AudioNodeOutput>(this, 1));
     104    addOutput(1);
    105105    initialize();
    106106}
  • trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp

    r267541 r267543  
    105105    setConeOuterAngle(options.coneOuterAngle);
    106106
    107     addInput(makeUnique<AudioNodeInput>(this));
    108     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     107    addInput();
     108    addOutput(2);
    109109
    110110    initialize();
  • trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp

    r267541 r267543  
    7070    setNodeType(NodeTypeJavaScript);
    7171    initializeDefaultNodeOptions(numberOfInputChannels, ChannelCountMode::Explicit, ChannelInterpretation::Speakers);
    72     addInput(makeUnique<AudioNodeInput>(this));
    73     addOutput(makeUnique<AudioNodeOutput>(this, numberOfOutputChannels));
     72    addInput();
     73    addOutput(numberOfOutputChannels);
    7474
    7575    initialize();
  • trunk/Source/WebCore/Modules/webaudio/StereoPannerNode.cpp

    r267541 r267543  
    6363    setNodeType(NodeTypeStereo);
    6464   
    65     addInput(makeUnique<AudioNodeInput>(this));
    66     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     65    addInput();
     66    addOutput(2);
    6767   
    6868    initialize();
  • trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp

    r267537 r267543  
    6060    m_hrtfDatabaseLoader = HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary(context.sampleRate());
    6161
    62     addInput(makeUnique<AudioNodeInput>(this));
    63     addOutput(makeUnique<AudioNodeOutput>(this, 2));
     62    addInput();
     63    addOutput(2);
    6464
    6565    m_position = FloatPoint3D(0, 0, 0);
Note: See TracChangeset for help on using the changeset viewer.