Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: Source/modules/webaudio/AudioNode.cpp

Issue 1285073005: Add special case handling for disconnected BiquadFilter. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/webaudio/AudioNode.cpp
diff --git a/Source/modules/webaudio/AudioNode.cpp b/Source/modules/webaudio/AudioNode.cpp
index 2c9582ee482a0e5019b5c8a889cabcc88e9627c0..7bef49006a33c1609b99284b156f89463bb1bc27 100644
--- a/Source/modules/webaudio/AudioNode.cpp
+++ b/Source/modules/webaudio/AudioNode.cpp
@@ -412,11 +412,14 @@ void AudioHandler::disableOutputsIfNecessary()
// But internally our outputs should be disabled from the inputs they're connected to.
// disable() can recursively deref connections (and call disable()) down a whole chain of connected nodes.
- // FIXME: we special case the convolver and delay since they have a significant tail-time and shouldn't be disconnected simply
- // because they no longer have any input connections. This needs to be handled more generally where AudioNodes have
- // a tailTime attribute. Then the AudioNode only needs to remain "active" for tailTime seconds after there are no
- // longer any active connections.
- if (nodeType() != NodeTypeConvolver && nodeType() != NodeTypeDelay) {
+ // FIXME: we special case the convolver, delay, and biquad since they have a significant
hongchan 2015/08/17 20:25:40 While we're at this, it would be better for us to
Raymond Toy 2015/08/17 20:44:59 Done.
+ // tail-time and shouldn't be disconnected simply because they no longer have any input
+ // connections. This needs to be handled more generally where AudioNodes have a tailTime
+ // attribute. Then the AudioNode only needs to remain "active" for tailTime seconds after
+ // there are no longer any active connections.
+ if (nodeType() != NodeTypeConvolver
+ && nodeType() != NodeTypeDelay
+ && nodeType() != NodeTypeBiquadFilter) {
m_isDisabled = true;
clearInternalStateWhenDisabled();
for (auto& output : m_outputs)
« LayoutTests/webaudio/biquad-tail.html ('K') | « LayoutTests/webaudio/biquad-tail-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698