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

Side by Side Diff: third_party/WebKit/Source/modules/webaudio/AbstractAudioContext.h

Issue 1361233004: Implement IIRFilter node for WebAudio. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test issue by printing fewer digits. Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010, Google Inc. All rights reserved. 2 * Copyright (C) 2010, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 17 matching lines...) Expand all
28 #include "bindings/core/v8/ScriptPromise.h" 28 #include "bindings/core/v8/ScriptPromise.h"
29 #include "bindings/core/v8/ScriptPromiseResolver.h" 29 #include "bindings/core/v8/ScriptPromiseResolver.h"
30 #include "core/dom/ActiveDOMObject.h" 30 #include "core/dom/ActiveDOMObject.h"
31 #include "core/dom/DOMTypedArray.h" 31 #include "core/dom/DOMTypedArray.h"
32 #include "core/events/EventListener.h" 32 #include "core/events/EventListener.h"
33 #include "modules/EventTargetModules.h" 33 #include "modules/EventTargetModules.h"
34 #include "modules/ModulesExport.h" 34 #include "modules/ModulesExport.h"
35 #include "modules/webaudio/AsyncAudioDecoder.h" 35 #include "modules/webaudio/AsyncAudioDecoder.h"
36 #include "modules/webaudio/AudioDestinationNode.h" 36 #include "modules/webaudio/AudioDestinationNode.h"
37 #include "modules/webaudio/DeferredTaskHandler.h" 37 #include "modules/webaudio/DeferredTaskHandler.h"
38 #include "modules/webaudio/IIRFilterNode.h"
38 #include "platform/audio/AudioBus.h" 39 #include "platform/audio/AudioBus.h"
39 #include "platform/heap/Handle.h" 40 #include "platform/heap/Handle.h"
40 #include "wtf/HashSet.h" 41 #include "wtf/HashSet.h"
41 #include "wtf/MainThread.h" 42 #include "wtf/MainThread.h"
42 #include "wtf/RefPtr.h" 43 #include "wtf/RefPtr.h"
43 #include "wtf/Threading.h" 44 #include "wtf/Threading.h"
44 #include "wtf/Vector.h" 45 #include "wtf/Vector.h"
45 #include "wtf/build_config.h" 46 #include "wtf/build_config.h"
46 47
47 namespace blink { 48 namespace blink {
48 49
49 class AnalyserNode; 50 class AnalyserNode;
50 class AudioBuffer; 51 class AudioBuffer;
51 class AudioBufferCallback; 52 class AudioBufferCallback;
52 class AudioBufferSourceNode; 53 class AudioBufferSourceNode;
53 class AudioListener; 54 class AudioListener;
54 class AudioSummingJunction; 55 class AudioSummingJunction;
55 class BiquadFilterNode; 56 class BiquadFilterNode;
56 class ChannelMergerNode; 57 class ChannelMergerNode;
57 class ChannelSplitterNode; 58 class ChannelSplitterNode;
58 class ConvolverNode; 59 class ConvolverNode;
59 class DelayNode; 60 class DelayNode;
60 class Dictionary; 61 class Dictionary;
61 class Document; 62 class Document;
62 class DynamicsCompressorNode; 63 class DynamicsCompressorNode;
63 class ExceptionState; 64 class ExceptionState;
64 class GainNode; 65 class GainNode;
65 class HTMLMediaElement; 66 class HTMLMediaElement;
67 class IIRFilterNode;
66 class MediaElementAudioSourceNode; 68 class MediaElementAudioSourceNode;
67 class MediaStreamAudioDestinationNode; 69 class MediaStreamAudioDestinationNode;
68 class MediaStreamAudioSourceNode; 70 class MediaStreamAudioSourceNode;
69 class OscillatorNode; 71 class OscillatorNode;
70 class PannerNode; 72 class PannerNode;
71 class PeriodicWave; 73 class PeriodicWave;
72 class ScriptProcessorNode; 74 class ScriptProcessorNode;
73 class ScriptPromiseResolver; 75 class ScriptPromiseResolver;
74 class ScriptState; 76 class ScriptState;
75 class SecurityOrigin; 77 class SecurityOrigin;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 172
171 // Close 173 // Close
172 virtual ScriptPromise closeContext(ScriptState*) = 0; 174 virtual ScriptPromise closeContext(ScriptState*) = 0;
173 175
174 // Suspend 176 // Suspend
175 virtual ScriptPromise suspendContext(ScriptState*) = 0; 177 virtual ScriptPromise suspendContext(ScriptState*) = 0;
176 178
177 // Resume 179 // Resume
178 virtual ScriptPromise resumeContext(ScriptState*) = 0; 180 virtual ScriptPromise resumeContext(ScriptState*) = 0;
179 181
182 // IIRFilter
183 IIRFilterNode* createIIRFilter(Vector<double> feedforwardCoef, Vector<double > feedbackCoef,
184 ExceptionState&);
185
180 // When a source node has started processing and needs to be protected, 186 // When a source node has started processing and needs to be protected,
181 // this method tells the context to protect the node. 187 // this method tells the context to protect the node.
182 // 188 //
183 // The context itself keeps a reference to all source nodes. The source 189 // The context itself keeps a reference to all source nodes. The source
184 // nodes, then reference all nodes they're connected to. In turn, these 190 // nodes, then reference all nodes they're connected to. In turn, these
185 // nodes reference all nodes they're connected to. All nodes are ultimately 191 // nodes reference all nodes they're connected to. All nodes are ultimately
186 // connected to the AudioDestinationNode. When the context release a source 192 // connected to the AudioDestinationNode. When the context release a source
187 // node, it will be deactivated from the rendering graph along with all 193 // node, it will be deactivated from the rendering graph along with all
188 // other nodes it is uniquely connected to. 194 // other nodes it is uniquely connected to.
189 void notifySourceNodeStartedProcessing(AudioNode*); 195 void notifySourceNodeStartedProcessing(AudioNode*);
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 Member<PeriodicWave> m_periodicWaveTriangle; 348 Member<PeriodicWave> m_periodicWaveTriangle;
343 349
344 // This is considering 32 is large enough for multiple channels audio. 350 // This is considering 32 is large enough for multiple channels audio.
345 // It is somewhat arbitrary and could be increased if necessary. 351 // It is somewhat arbitrary and could be increased if necessary.
346 enum { MaxNumberOfChannels = 32 }; 352 enum { MaxNumberOfChannels = 32 };
347 }; 353 };
348 354
349 } // namespace blink 355 } // namespace blink
350 356
351 #endif // AbstractAudioContext_h 357 #endif // AbstractAudioContext_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/modules.gypi ('k') | third_party/WebKit/Source/modules/webaudio/AbstractAudioContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698