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

Changeset 267604 in webkit


Ignore:
Timestamp:
Sep 25, 2020, 4:02:59 PM (6 years ago)
Author:
Chris Dumez
Message:

Drop AudioNode::setNodeType()
https://bugs.webkit.org/show_bug.cgi?id=216988

Reviewed by Eric Carlson.

Drop AudioNode::setNodeType() in favor of passing the NodeType to the AudioNode constructor.
This makes sure we never forget to set the type.

  • Modules/webaudio/AnalyserNode.cpp:

(WebCore::AnalyserNode::AnalyserNode):

  • Modules/webaudio/AudioBasicInspectorNode.cpp:

(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):

  • Modules/webaudio/AudioBasicInspectorNode.h:
  • Modules/webaudio/AudioBasicProcessorNode.cpp:

(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):

  • Modules/webaudio/AudioBasicProcessorNode.h:
  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):

  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::AudioDestinationNode):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::convertEnumerationToString):
(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::printNodeCounts):

  • Modules/webaudio/AudioNode.h:

(WebCore::AudioNode::context):
(WebCore::AudioNode::context const):
(WebCore::AudioNode::nodeType const):

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::BiquadFilterNode):

  • 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/DelayNode.cpp:

(WebCore::DelayNode::DelayNode):

  • Modules/webaudio/DynamicsCompressorNode.cpp:

(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):

  • Modules/webaudio/GainNode.cpp:

(WebCore::GainNode::GainNode):

  • Modules/webaudio/IIRFilterNode.cpp:

(WebCore::IIRFilterNode::IIRFilterNode):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):

  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp:

(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):

  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::OscillatorNode):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNodeBase::PannerNodeBase):
(WebCore::PannerNode::PannerNode):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::ScriptProcessorNode):

  • Modules/webaudio/StereoPannerNode.cpp:

(WebCore::StereoPannerNode::StereoPannerNode):

  • Modules/webaudio/WaveShaperNode.cpp:

(WebCore::WaveShaperNode::WaveShaperNode):

  • Modules/webaudio/WebKitAudioPannerNode.cpp:

(WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):

Location:
trunk/Source/WebCore
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r267602 r267604  
     12020-09-25  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop AudioNode::setNodeType()
     4        https://bugs.webkit.org/show_bug.cgi?id=216988
     5
     6        Reviewed by Eric Carlson.
     7
     8        Drop AudioNode::setNodeType() in favor of passing the NodeType to the AudioNode constructor.
     9        This makes sure we never forget to set the type.
     10
     11        * Modules/webaudio/AnalyserNode.cpp:
     12        (WebCore::AnalyserNode::AnalyserNode):
     13        * Modules/webaudio/AudioBasicInspectorNode.cpp:
     14        (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
     15        * Modules/webaudio/AudioBasicInspectorNode.h:
     16        * Modules/webaudio/AudioBasicProcessorNode.cpp:
     17        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
     18        * Modules/webaudio/AudioBasicProcessorNode.h:
     19        * Modules/webaudio/AudioBufferSourceNode.cpp:
     20        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
     21        * Modules/webaudio/AudioDestinationNode.cpp:
     22        (WebCore::AudioDestinationNode::AudioDestinationNode):
     23        * Modules/webaudio/AudioNode.cpp:
     24        (WebCore::convertEnumerationToString):
     25        (WebCore::AudioNode::AudioNode):
     26        (WebCore::AudioNode::printNodeCounts):
     27        * Modules/webaudio/AudioNode.h:
     28        (WebCore::AudioNode::context):
     29        (WebCore::AudioNode::context const):
     30        (WebCore::AudioNode::nodeType const):
     31        * Modules/webaudio/AudioScheduledSourceNode.cpp:
     32        (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
     33        * Modules/webaudio/AudioScheduledSourceNode.h:
     34        * Modules/webaudio/BiquadFilterNode.cpp:
     35        (WebCore::BiquadFilterNode::BiquadFilterNode):
     36        * Modules/webaudio/ChannelMergerNode.cpp:
     37        (WebCore::ChannelMergerNode::ChannelMergerNode):
     38        * Modules/webaudio/ChannelSplitterNode.cpp:
     39        (WebCore::ChannelSplitterNode::ChannelSplitterNode):
     40        * Modules/webaudio/ConstantSourceNode.cpp:
     41        (WebCore::ConstantSourceNode::ConstantSourceNode):
     42        * Modules/webaudio/ConvolverNode.cpp:
     43        (WebCore::ConvolverNode::ConvolverNode):
     44        * Modules/webaudio/DelayNode.cpp:
     45        (WebCore::DelayNode::DelayNode):
     46        * Modules/webaudio/DynamicsCompressorNode.cpp:
     47        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
     48        * Modules/webaudio/GainNode.cpp:
     49        (WebCore::GainNode::GainNode):
     50        * Modules/webaudio/IIRFilterNode.cpp:
     51        (WebCore::IIRFilterNode::IIRFilterNode):
     52        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
     53        (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
     54        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
     55        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
     56        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
     57        (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
     58        * Modules/webaudio/OscillatorNode.cpp:
     59        (WebCore::OscillatorNode::OscillatorNode):
     60        * Modules/webaudio/PannerNode.cpp:
     61        (WebCore::PannerNodeBase::PannerNodeBase):
     62        (WebCore::PannerNode::PannerNode):
     63        * Modules/webaudio/ScriptProcessorNode.cpp:
     64        (WebCore::ScriptProcessorNode::ScriptProcessorNode):
     65        * Modules/webaudio/StereoPannerNode.cpp:
     66        (WebCore::StereoPannerNode::StereoPannerNode):
     67        * Modules/webaudio/WaveShaperNode.cpp:
     68        (WebCore::WaveShaperNode::WaveShaperNode):
     69        * Modules/webaudio/WebKitAudioPannerNode.cpp:
     70        (WebCore::WebKitAudioPannerNode::WebKitAudioPannerNode):
     71
    1722020-09-24  Dean Jackson  <dino@apple.com>
    273
  • trunk/Source/WebCore/Modules/webaudio/AnalyserNode.cpp

    r267543 r267604  
    6666
    6767AnalyserNode::AnalyserNode(BaseAudioContext& context)
    68     : AudioBasicInspectorNode(context)
    69 {
    70     setNodeType(NodeTypeAnalyser);
     68    : AudioBasicInspectorNode(context, NodeTypeAnalyser)
     69{
    7170    addOutput(2);
    7271   
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.cpp

    r267543 r267604  
    3737WTF_MAKE_ISO_ALLOCATED_IMPL(AudioBasicInspectorNode);
    3838
    39 AudioBasicInspectorNode::AudioBasicInspectorNode(BaseAudioContext& context)
    40     : AudioNode(context)
     39AudioBasicInspectorNode::AudioBasicInspectorNode(BaseAudioContext& context, NodeType type)
     40    : AudioNode(context, type)
    4141{
    42     setNodeType(NodeTypeBasicInspector);
    4342    addInput();
    4443}
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicInspectorNode.h

    r267252 r267604  
    3535    WTF_MAKE_ISO_ALLOCATED(AudioBasicInspectorNode);
    3636public:
    37     explicit AudioBasicInspectorNode(BaseAudioContext&);
     37    AudioBasicInspectorNode(BaseAudioContext&, NodeType);
    3838
    3939protected:
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp

    r267543 r267604  
    4040WTF_MAKE_ISO_ALLOCATED_IMPL(AudioBasicProcessorNode);
    4141
    42 AudioBasicProcessorNode::AudioBasicProcessorNode(BaseAudioContext& context)
    43     : AudioNode(context)
     42AudioBasicProcessorNode::AudioBasicProcessorNode(BaseAudioContext& context, NodeType type)
     43    : AudioNode(context, type)
    4444{
    4545    addInput();
  • trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h

    r267537 r267604  
    3838    WTF_MAKE_ISO_ALLOCATED(AudioBasicProcessorNode);
    3939public:
    40     explicit AudioBasicProcessorNode(BaseAudioContext&);
     40    AudioBasicProcessorNode(BaseAudioContext&, NodeType);
    4141
    4242    // AudioNode
  • trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp

    r267591 r267604  
    9090
    9191AudioBufferSourceNode::AudioBufferSourceNode(BaseAudioContext& context)
    92     : AudioScheduledSourceNode(context)
     92    : AudioScheduledSourceNode(context, NodeTypeAudioBufferSource)
    9393    , m_detune(AudioParam::create(context, "detune"_s, 0.0, -FLT_MAX, FLT_MAX, AutomationRate::KRate, AutomationRateMode::Fixed))
    9494    , m_playbackRate(AudioParam::create(context, "playbackRate"_s, 1.0, -FLT_MAX, FLT_MAX, AutomationRate::KRate, AutomationRateMode::Fixed))
    9595    , m_grainDuration(DefaultGrainDuration)
    9696{
    97     setNodeType(NodeTypeAudioBufferSource);
    98 
    9997    // Default to mono.  A call to setBuffer() will set the number of output channels to that of the buffer.
    10098    addOutput(1);
  • trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp

    r267544 r267604  
    4141
    4242AudioDestinationNode::AudioDestinationNode(BaseAudioContext& context)
    43     : AudioNode(context)
     43    : AudioNode(context, NodeTypeDestination)
    4444{
    45     setNodeType(NodeTypeDestination);
    4645    addInput();
    4746}
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.cpp

    r267591 r267604  
    5151{
    5252    static const NeverDestroyed<String> values[] = {
    53         MAKE_STATIC_STRING_IMPL("NodeTypeUnknown"),
    5453        MAKE_STATIC_STRING_IMPL("NodeTypeDestination"),
    5554        MAKE_STATIC_STRING_IMPL("NodeTypeOscillator"),
     
    6968        MAKE_STATIC_STRING_IMPL("NodeTypeDynamicsCompressor"),
    7069        MAKE_STATIC_STRING_IMPL("NodeTypeWaveShaper"),
    71         MAKE_STATIC_STRING_IMPL("NodeTypeBasicInspector"),
    7270        MAKE_STATIC_STRING_IMPL("NodeTypeConstant"),
    73         MAKE_STATIC_STRING_IMPL("NodeTypeStereo"),
    74         MAKE_STATIC_STRING_IMPL("NodeTypeEnd"),
     71        MAKE_STATIC_STRING_IMPL("NodeTypeStereoPanner"),
     72        MAKE_STATIC_STRING_IMPL("NodeTypeIIRFilter"),
    7573    };
    76     static_assert(static_cast<size_t>(AudioNode::NodeTypeUnknown) == 0, "AudioNode::NodeTypeUnknown is not 0 as expected");
    77     static_assert(static_cast<size_t>(AudioNode::NodeTypeDestination) == 1, "AudioNode::NodeTypeDestination is not 1 as expected");
    78     static_assert(static_cast<size_t>(AudioNode::NodeTypeOscillator) == 2, "AudioNode::NodeTypeOscillator is not 2 as expected");
    79     static_assert(static_cast<size_t>(AudioNode::NodeTypeAudioBufferSource) == 3, "AudioNode::NodeTypeAudioBufferSource is not 3 as expected");
    80     static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaElementAudioSource) == 4, "AudioNode::NodeTypeMediaElementAudioSource is not 4 as expected");
    81     static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaStreamAudioDestination) == 5, "AudioNode::NodeTypeMediaStreamAudioDestination is not 5 as expected");
    82     static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaStreamAudioSource) == 6, "AudioNode::NodeTypeMediaStreamAudioSource is not 6 as expected");
    83     static_assert(static_cast<size_t>(AudioNode::NodeTypeJavaScript) == 7, "AudioNode::NodeTypeJavaScript is not 7 as expected");
    84     static_assert(static_cast<size_t>(AudioNode::NodeTypeBiquadFilter) == 8, "AudioNode::NodeTypeBiquadFilter is not 8 as expected");
    85     static_assert(static_cast<size_t>(AudioNode::NodeTypePanner) == 9, "AudioNode::NodeTypePanner is not 9 as expected");
    86     static_assert(static_cast<size_t>(AudioNode::NodeTypeConvolver) == 10, "AudioNode::NodeTypeConvolver is not 10 as expected");
    87     static_assert(static_cast<size_t>(AudioNode::NodeTypeDelay) == 11, "AudioNode::NodeTypeDelay is not 11 as expected");
    88     static_assert(static_cast<size_t>(AudioNode::NodeTypeGain) == 12, "AudioNode::NodeTypeGain is not 12 as expected");
    89     static_assert(static_cast<size_t>(AudioNode::NodeTypeChannelSplitter) == 13, "AudioNode::NodeTypeChannelSplitter is not 13 as expected");
    90     static_assert(static_cast<size_t>(AudioNode::NodeTypeChannelMerger) == 14, "AudioNode::NodeTypeChannelMerger is not 14 as expected");
    91     static_assert(static_cast<size_t>(AudioNode::NodeTypeAnalyser) == 15, "AudioNode::NodeTypeAnalyser is not 15 as expected");
    92     static_assert(static_cast<size_t>(AudioNode::NodeTypeDynamicsCompressor) == 16, "AudioNode::NodeTypeDynamicsCompressor is not 16 as expected");
    93     static_assert(static_cast<size_t>(AudioNode::NodeTypeWaveShaper) == 17, "AudioNode::NodeTypeWaveShaper is not 17 as expected");
    94     static_assert(static_cast<size_t>(AudioNode::NodeTypeBasicInspector) == 18, "AudioNode::NodeTypeBasicInspector is not 18 as expected");
    95     static_assert(static_cast<size_t>(AudioNode::NodeTypeConstant) == 19, "AudioNode::NodeTypeEnd is not 19 as expected");
    96     static_assert(static_cast<size_t>(AudioNode::NodeTypeStereo) == 20, "AudioNode::NodeTypeStereo is not 20 as expected");
    97     static_assert(static_cast<size_t>(AudioNode::NodeTypeIIRFilter) == 21, "AudioNode::NodeTypeIIRFilter is not 21 as expected");
    98     static_assert(static_cast<size_t>(AudioNode::NodeTypeEnd) == 22, "AudioNode::NodeTypeConstant is not 22 as expected");
     74    static_assert(static_cast<size_t>(AudioNode::NodeTypeDestination) == 0, "AudioNode::NodeTypeDestination is not 1 as expected");
     75    static_assert(static_cast<size_t>(AudioNode::NodeTypeOscillator) == 1, "AudioNode::NodeTypeOscillator is not 2 as expected");
     76    static_assert(static_cast<size_t>(AudioNode::NodeTypeAudioBufferSource) == 2, "AudioNode::NodeTypeAudioBufferSource is not 3 as expected");
     77    static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaElementAudioSource) == 3, "AudioNode::NodeTypeMediaElementAudioSource is not 4 as expected");
     78    static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaStreamAudioDestination) == 4, "AudioNode::NodeTypeMediaStreamAudioDestination is not 5 as expected");
     79    static_assert(static_cast<size_t>(AudioNode::NodeTypeMediaStreamAudioSource) == 5, "AudioNode::NodeTypeMediaStreamAudioSource is not 6 as expected");
     80    static_assert(static_cast<size_t>(AudioNode::NodeTypeJavaScript) == 6, "AudioNode::NodeTypeJavaScript is not 7 as expected");
     81    static_assert(static_cast<size_t>(AudioNode::NodeTypeBiquadFilter) == 7, "AudioNode::NodeTypeBiquadFilter is not 8 as expected");
     82    static_assert(static_cast<size_t>(AudioNode::NodeTypePanner) == 8, "AudioNode::NodeTypePanner is not 9 as expected");
     83    static_assert(static_cast<size_t>(AudioNode::NodeTypeConvolver) == 9, "AudioNode::NodeTypeConvolver is not 10 as expected");
     84    static_assert(static_cast<size_t>(AudioNode::NodeTypeDelay) == 10, "AudioNode::NodeTypeDelay is not 11 as expected");
     85    static_assert(static_cast<size_t>(AudioNode::NodeTypeGain) == 11, "AudioNode::NodeTypeGain is not 12 as expected");
     86    static_assert(static_cast<size_t>(AudioNode::NodeTypeChannelSplitter) == 12, "AudioNode::NodeTypeChannelSplitter is not 13 as expected");
     87    static_assert(static_cast<size_t>(AudioNode::NodeTypeChannelMerger) == 13, "AudioNode::NodeTypeChannelMerger is not 14 as expected");
     88    static_assert(static_cast<size_t>(AudioNode::NodeTypeAnalyser) == 14, "AudioNode::NodeTypeAnalyser is not 15 as expected");
     89    static_assert(static_cast<size_t>(AudioNode::NodeTypeDynamicsCompressor) == 15, "AudioNode::NodeTypeDynamicsCompressor is not 16 as expected");
     90    static_assert(static_cast<size_t>(AudioNode::NodeTypeWaveShaper) == 16, "AudioNode::NodeTypeWaveShaper is not 17 as expected");
     91    static_assert(static_cast<size_t>(AudioNode::NodeTypeConstant) == 17, "AudioNode::NodeTypeConstant is not 19 as expected");
     92    static_assert(static_cast<size_t>(AudioNode::NodeTypeStereoPanner) == 18, "AudioNode::NodeTypeStereoPanner is not 20 as expected");
     93    static_assert(static_cast<size_t>(AudioNode::NodeTypeIIRFilter) == 19, "AudioNode::NodeTypeIIRFilter is not 21 as expected");
    9994
    10095    ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
     
    10398}
    10499
    105 AudioNode::AudioNode(BaseAudioContext& context)
    106     : m_context(context)
     100AudioNode::AudioNode(BaseAudioContext& context, NodeType type)
     101    : m_nodeType(type)
     102    , m_context(context)
    107103#if !RELEASE_LOG_DISABLED
    108104    , m_logger(context.logger())
     
    113109
    114110#if DEBUG_AUDIONODE_REFERENCES
     111    ++s_nodeCount[type];
    115112    if (!s_isNodeCountInitialized) {
    116113        s_isNodeCountInitialized = true;
     
    139136{
    140137    m_isInitialized = false;
    141 }
    142 
    143 void AudioNode::setNodeType(NodeType type)
    144 {
    145     ASSERT(isMainThread());
    146     ALWAYS_LOG(LOGIDENTIFIER, type);
    147 
    148     m_nodeType = type;
    149 
    150 #if DEBUG_AUDIONODE_REFERENCES
    151     ++s_nodeCount[type];
    152 #endif
    153138}
    154139
     
    724709
    725710bool AudioNode::s_isNodeCountInitialized = false;
    726 int AudioNode::s_nodeCount[NodeTypeEnd];
     711int AudioNode::s_nodeCount[NodeTypeLast + 1];
    727712
    728713void AudioNode::printNodeCounts()
     
    733718    fprintf(stderr, "===========================\n");
    734719
    735     for (unsigned i = 0; i < NodeTypeEnd; ++i)
     720    for (unsigned i = 0; i <= NodeTypeLast; ++i)
    736721        fprintf(stderr, "%d: %d\n", i, s_nodeCount[i]);
    737722
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.h

    r267591 r267604  
    6060    WTF_MAKE_ISO_ALLOCATED(AudioNode);
    6161public:
    62     explicit AudioNode(BaseAudioContext&);
    63     virtual ~AudioNode();
    64 
    65     BaseAudioContext& context() { return m_context.get(); }
    66     const BaseAudioContext& context() const { return m_context.get(); }
    67 
    68     Variant<RefPtr<BaseAudioContext>, RefPtr<WebKitAudioContext>> contextForBindings() const;
    69 
    7062    enum NodeType {
    71         NodeTypeUnknown,
    7263        NodeTypeDestination,
    7364        NodeTypeOscillator,
     
    8778        NodeTypeDynamicsCompressor,
    8879        NodeTypeWaveShaper,
    89         NodeTypeBasicInspector,
    9080        NodeTypeConstant,
    91         NodeTypeStereo,
     81        NodeTypeStereoPanner,
    9282        NodeTypeIIRFilter,
    93         NodeTypeEnd
     83        NodeTypeLast = NodeTypeIIRFilter
    9484    };
    9585
     86    AudioNode(BaseAudioContext&, NodeType);
     87    virtual ~AudioNode();
     88
     89    BaseAudioContext& context() { return m_context.get(); }
     90    const BaseAudioContext& context() const { return m_context.get(); }
     91
     92    Variant<RefPtr<BaseAudioContext>, RefPtr<WebKitAudioContext>> contextForBindings() const;
     93
    9694    NodeType nodeType() const { return m_nodeType; }
    97     void setNodeType(NodeType);
    9895
    9996    // Can be called from main thread or context's audio thread.
     
    236233
    237234    volatile bool m_isInitialized { false };
    238     NodeType m_nodeType { NodeTypeUnknown };
     235    NodeType m_nodeType;
    239236    Ref<BaseAudioContext> m_context;
    240237
     
    255252#if DEBUG_AUDIONODE_REFERENCES
    256253    static bool s_isNodeCountInitialized;
    257     static int s_nodeCount[NodeTypeEnd];
     254    static int s_nodeCount[NodeTypeLast + 1];
    258255#endif
    259256
  • trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp

    r267544 r267604  
    4848WTF_MAKE_ISO_ALLOCATED_IMPL(AudioScheduledSourceNode);
    4949
    50 AudioScheduledSourceNode::AudioScheduledSourceNode(BaseAudioContext& context)
    51     : AudioNode(context)
     50AudioScheduledSourceNode::AudioScheduledSourceNode(BaseAudioContext& context, NodeType type)
     51    : AudioNode(context, type)
    5252    , ActiveDOMObject(context.scriptExecutionContext())
    5353{
  • trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h

    r267544 r267604  
    5454    };
    5555   
    56     explicit AudioScheduledSourceNode(BaseAudioContext&);
     56    AudioScheduledSourceNode(BaseAudioContext&, NodeType);
    5757
    5858    ExceptionOr<void> startLater(double when);
  • trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp

    r267432 r267604  
    5757
    5858BiquadFilterNode::BiquadFilterNode(BaseAudioContext& context)
    59     : AudioBasicProcessorNode(context)
     59    : AudioBasicProcessorNode(context, NodeTypeBiquadFilter)
    6060{
    61     setNodeType(NodeTypeBiquadFilter);
    62 
    6361    // Initially setup as lowpass filter.
    6462    m_processor = makeUnique<BiquadProcessor>(context, context.sampleRate(), 1, false);
  • trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp

    r267543 r267604  
    6262
    6363ChannelMergerNode::ChannelMergerNode(BaseAudioContext& context, unsigned numberOfInputs)
    64     : AudioNode(context)
     64    : AudioNode(context, NodeTypeChannelMerger)
    6565{
    66     setNodeType(NodeTypeChannelMerger);
    67 
    6866    // Create the requested number of inputs.
    6967    for (unsigned i = 0; i < numberOfInputs; ++i)
  • trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp

    r267543 r267604  
    5858
    5959ChannelSplitterNode::ChannelSplitterNode(BaseAudioContext& context, unsigned numberOfOutputs)
    60     : AudioNode(context)
     60    : AudioNode(context, NodeTypeChannelSplitter)
    6161{
    62     setNodeType(NodeTypeChannelSplitter);
    63 
    6462    addInput();
    6563
  • trunk/Source/WebCore/Modules/webaudio/ConstantSourceNode.cpp

    r267543 r267604  
    5555
    5656ConstantSourceNode::ConstantSourceNode(BaseAudioContext& context, float offset)
    57     : AudioScheduledSourceNode(context)
     57    : AudioScheduledSourceNode(context, NodeTypeConstant)
    5858    , m_offset(AudioParam::create(context, "offset"_s, offset, -FLT_MAX, FLT_MAX, AutomationRate::ARate))
    5959    , m_sampleAccurateValues(AudioUtilities::renderQuantumSize)
    6060{
    61     setNodeType(NodeTypeConstant);
    6261    addOutput(1);
    6362    initialize();
  • trunk/Source/WebCore/Modules/webaudio/ConvolverNode.cpp

    r267544 r267604  
    7979
    8080ConvolverNode::ConvolverNode(BaseAudioContext& context)
    81     : AudioNode(context)
    82 {
    83     setNodeType(NodeTypeConvolver);
    84 
     81    : AudioNode(context, NodeTypeConvolver)
     82{
    8583    addInput();
    8684    addOutput(1);
  • trunk/Source/WebCore/Modules/webaudio/DelayNode.cpp

    r267544 r267604  
    4040
    4141inline DelayNode::DelayNode(BaseAudioContext& context, double maxDelayTime)
    42     : AudioBasicProcessorNode(context)
     42    : AudioBasicProcessorNode(context, NodeTypeDelay)
    4343{
    44     setNodeType(NodeTypeDelay);
    4544    m_processor = makeUnique<DelayProcessor>(context, context.sampleRate(), 1, maxDelayTime);
    4645
  • trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.cpp

    r267544 r267604  
    6363
    6464DynamicsCompressorNode::DynamicsCompressorNode(BaseAudioContext& context, const DynamicsCompressorOptions& options)
    65     : AudioNode(context)
     65    : AudioNode(context, NodeTypeDynamicsCompressor)
    6666    , m_threshold(AudioParam::create(context, "threshold"_s, options.threshold, -100, 0, AutomationRate::KRate, AutomationRateMode::Fixed))
    6767    , m_knee(AudioParam::create(context, "knee"_s, options.knee, 0, 40, AutomationRate::KRate, AutomationRateMode::Fixed))
     
    7070    , m_release(AudioParam::create(context, "release"_s, options.release, 0, 1, AutomationRate::KRate, AutomationRateMode::Fixed))
    7171{
    72     setNodeType(NodeTypeDynamicsCompressor);
    73 
    7472    addInput();
    7573    addOutput(defaultNumberOfOutputChannels);
  • trunk/Source/WebCore/Modules/webaudio/GainNode.cpp

    r267560 r267604  
    5858
    5959GainNode::GainNode(BaseAudioContext& context)
    60     : AudioNode(context)
     60    : AudioNode(context, NodeTypeGain)
    6161    , m_sampleAccurateGainValues(AudioUtilities::renderQuantumSize) // FIXME: can probably share temp buffer in context
    6262    , m_gain(AudioParam::create(context, "gain"_s, 1.0, -FLT_MAX, FLT_MAX, AutomationRate::ARate))
    6363{
    64     setNodeType(NodeTypeGain);
    65 
    6664    addInput();
    6765    addOutput(1);
  • trunk/Source/WebCore/Modules/webaudio/IIRFilterNode.cpp

    r266186 r267604  
    117117
    118118IIRFilterNode::IIRFilterNode(BaseAudioContext& context, const Vector<double>& feedforward, const Vector<double>& feedback, bool isFilterStable)
    119     : AudioBasicProcessorNode(context)
     119    : AudioBasicProcessorNode(context, NodeTypeIIRFilter)
    120120{
    121     setNodeType(NodeTypeIIRFilter);
    122121    m_processor = makeUnique<IIRProcessor>(context.sampleRate(), 1, feedforward, feedback, isFilterStable);
    123122
  • trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp

    r267544 r267604  
    6767
    6868MediaElementAudioSourceNode::MediaElementAudioSourceNode(BaseAudioContext& context, Ref<HTMLMediaElement>&& mediaElement)
    69     : AudioNode(context)
     69    : AudioNode(context, NodeTypeMediaElementAudioSource)
    7070    , m_mediaElement(WTFMove(mediaElement))
    7171{
    72     setNodeType(NodeTypeMediaElementAudioSource);
    73 
    7472    // Default to stereo. This could change depending on what the media element .src is set to.
    7573    addOutput(2);
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp

    r267537 r267604  
    5757
    5858MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode(BaseAudioContext& context)
    59     : AudioBasicInspectorNode(context)
     59    : AudioBasicInspectorNode(context, NodeTypeMediaStreamAudioDestination)
    6060    , m_source(MediaStreamAudioSource::create(context.sampleRate()))
    6161    , m_stream(MediaStream::create(*context.document(), MediaStreamPrivate::create(context.document()->logger(), m_source.copyRef())))
    6262{
    63     setNodeType(NodeTypeMediaStreamAudioDestination);
    6463    initialize();
    6564}
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp

    r267543 r267604  
    7272
    7373MediaStreamAudioSourceNode::MediaStreamAudioSourceNode(BaseAudioContext& context, MediaStream& mediaStream, MediaStreamTrack& audioTrack)
    74     : AudioNode(context)
     74    : AudioNode(context, NodeTypeMediaStreamAudioSource)
    7575    , m_mediaStream(mediaStream)
    7676    , m_audioTrack(audioTrack)
    7777{
    78     setNodeType(NodeTypeMediaStreamAudioSource);
    79    
    8078    AudioSourceProvider* audioSourceProvider = m_audioTrack->audioSourceProvider();
    8179    ASSERT(audioSourceProvider);
  • trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp

    r267543 r267604  
    9393
    9494OscillatorNode::OscillatorNode(BaseAudioContext& context, const OscillatorOptions& options)
    95     : AudioScheduledSourceNode(context)
     95    : AudioScheduledSourceNode(context, NodeTypeOscillator)
    9696    , m_frequency(AudioParam::create(context, "frequency"_s, options.frequency, -context.sampleRate() / 2, context.sampleRate() / 2, AutomationRate::ARate))
    9797    , m_detune(AudioParam::create(context, "detune"_s, options.detune, -1200 * log2f(std::numeric_limits<float>::max()), 1200 * log2f(std::numeric_limits<float>::max()), AutomationRate::ARate))
     
    9999    , m_detuneValues(AudioUtilities::renderQuantumSize)
    100100{
    101     setNodeType(NodeTypeOscillator);
    102    
    103101    // An oscillator is always mono.
    104102    addOutput(1);
  • trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp

    r267560 r267604  
    5252
    5353PannerNodeBase::PannerNodeBase(BaseAudioContext& context)
    54     : AudioNode(context)
     54    : AudioNode(context, NodeTypePanner)
    5555{
    5656}
     
    100100    , m_hrtfDatabaseLoader(HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary(context.sampleRate()))
    101101{
    102     setNodeType(NodeTypePanner);
    103 
    104102    setDistanceModel(options.distanceModel);
    105103    setConeInnerAngle(options.coneInnerAngle);
  • trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp

    r267591 r267604  
    5353
    5454ScriptProcessorNode::ScriptProcessorNode(BaseAudioContext& context, size_t bufferSize, unsigned numberOfInputChannels, unsigned numberOfOutputChannels)
    55     : AudioNode(context)
     55    : AudioNode(context, NodeTypeJavaScript)
    5656    , ActiveDOMObject(context.scriptExecutionContext())
    5757    , m_bufferSize(bufferSize)
     
    6666    ASSERT(numberOfInputChannels <= AudioContext::maxNumberOfChannels());
    6767
    68     setNodeType(NodeTypeJavaScript);
    6968    initializeDefaultNodeOptions(numberOfInputChannels, ChannelCountMode::Explicit, ChannelInterpretation::Speakers);
    7069    addInput();
  • trunk/Source/WebCore/Modules/webaudio/StereoPannerNode.cpp

    r267543 r267604  
    5757
    5858StereoPannerNode::StereoPannerNode(BaseAudioContext& context, float pan)
    59     : AudioNode(context)
     59    : AudioNode(context, NodeTypeStereoPanner)
    6060    , m_pan(AudioParam::create(context, "pan"_s, pan, -1, 1, AutomationRate::ARate))
    6161    , m_sampleAccurateValues(AudioUtilities::renderQuantumSize)
    6262{
    63     setNodeType(NodeTypeStereo);
    64    
    6563    addInput();
    6664    addOutput(2);
  • trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp

    r265832 r267604  
    7171
    7272WaveShaperNode::WaveShaperNode(BaseAudioContext& context)
    73     : AudioBasicProcessorNode(context)
     73    : AudioBasicProcessorNode(context, NodeTypeWaveShaper)
    7474{
    75     setNodeType(NodeTypeWaveShaper);
    7675    m_processor = makeUnique<WaveShaperProcessor>(context.sampleRate(), 1);
    7776
  • trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp

    r267544 r267604  
    5252    : PannerNodeBase(context)
    5353{
    54     setNodeType(NodeTypePanner);
    5554    initializeDefaultNodeOptions(2, ChannelCountMode::ClampedMax, ChannelInterpretation::Speakers);
    5655
Note: See TracChangeset for help on using the changeset viewer.