Index: third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp |
diff --git a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp |
index 7b7765e9544039323b1b4cc5f394dbb2222f19df..327fcb12f533a08de1a2c7a12a2c510e0a15ea2b 100644 |
--- a/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp |
+++ b/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp |
@@ -25,6 +25,7 @@ |
#include "modules/webaudio/BiquadFilterNode.h" |
#include "modules/webaudio/AudioBasicProcessorHandler.h" |
+#include "modules/webaudio/BiquadFilterOptions.h" |
#include "platform/Histogram.h" |
#include "wtf/PtrUtil.h" |
@@ -66,6 +67,29 @@ BiquadFilterNode* BiquadFilterNode::create(BaseAudioContext& context, ExceptionS |
return new BiquadFilterNode(context); |
} |
+BiquadFilterNode* BiquadFilterNode::create(BaseAudioContext* context, const BiquadFilterOptions& options, ExceptionState& exceptionState) |
+{ |
+ BiquadFilterNode* node = create(*context, exceptionState); |
+ |
+ if (!node) |
+ return nullptr; |
+ |
+ node->handleChannelOptions(options, exceptionState); |
+ |
+ if (options.hasType()) |
+ node->setType(options.type()); |
+ if (options.hasQ()) |
+ node->q()->setValue(options.Q()); |
+ if (options.hasDetune()) |
+ node->detune()->setValue(options.detune()); |
+ if (options.hasFrequency()) |
+ node->frequency()->setValue(options.frequency()); |
+ if (options.hasGain()) |
+ node->gain()->setValue(options.gain()); |
+ |
+ return node; |
+} |
+ |
DEFINE_TRACE(BiquadFilterNode) |
{ |
visitor->trace(m_frequency); |