OLD | NEW |
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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 class ExceptionState; | 61 class ExceptionState; |
62 class GainNode; | 62 class GainNode; |
63 class HTMLMediaElement; | 63 class HTMLMediaElement; |
64 class MediaElementAudioSourceNode; | 64 class MediaElementAudioSourceNode; |
65 class MediaStreamAudioDestinationNode; | 65 class MediaStreamAudioDestinationNode; |
66 class MediaStreamAudioSourceNode; | 66 class MediaStreamAudioSourceNode; |
67 class OscillatorNode; | 67 class OscillatorNode; |
68 class PannerNode; | 68 class PannerNode; |
69 class PeriodicWave; | 69 class PeriodicWave; |
70 class ScriptProcessorNode; | 70 class ScriptProcessorNode; |
| 71 class StereoPannerNode; |
71 class WaveShaperNode; | 72 class WaveShaperNode; |
72 | 73 |
73 // AudioContext is the cornerstone of the web audio API and all AudioNodes are c
reated from it. | 74 // AudioContext is the cornerstone of the web audio API and all AudioNodes are c
reated from it. |
74 // For thread safety between the audio thread and the main thread, it has a rend
ering graph locking mechanism. | 75 // For thread safety between the audio thread and the main thread, it has a rend
ering graph locking mechanism. |
75 | 76 |
76 class AudioContext : public RefCountedGarbageCollectedWillBeGarbageCollectedFina
lized<AudioContext>, public ActiveDOMObject, public EventTargetWithInlineData { | 77 class AudioContext : public RefCountedGarbageCollectedWillBeGarbageCollectedFina
lized<AudioContext>, public ActiveDOMObject, public EventTargetWithInlineData { |
77 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<A
udioContext>); | 78 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<A
udioContext>); |
78 DEFINE_WRAPPERTYPEINFO(); | 79 DEFINE_WRAPPERTYPEINFO(); |
79 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(AudioContext); | 80 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(AudioContext); |
80 public: | 81 public: |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 DelayNode* createDelay(ExceptionState&); | 116 DelayNode* createDelay(ExceptionState&); |
116 DelayNode* createDelay(double maxDelayTime, ExceptionState&); | 117 DelayNode* createDelay(double maxDelayTime, ExceptionState&); |
117 PannerNode* createPanner(); | 118 PannerNode* createPanner(); |
118 ConvolverNode* createConvolver(); | 119 ConvolverNode* createConvolver(); |
119 DynamicsCompressorNode* createDynamicsCompressor(); | 120 DynamicsCompressorNode* createDynamicsCompressor(); |
120 AnalyserNode* createAnalyser(); | 121 AnalyserNode* createAnalyser(); |
121 ScriptProcessorNode* createScriptProcessor(ExceptionState&); | 122 ScriptProcessorNode* createScriptProcessor(ExceptionState&); |
122 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, ExceptionState
&); | 123 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, ExceptionState
&); |
123 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, size_t numberO
fInputChannels, ExceptionState&); | 124 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, size_t numberO
fInputChannels, ExceptionState&); |
124 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, size_t numberO
fInputChannels, size_t numberOfOutputChannels, ExceptionState&); | 125 ScriptProcessorNode* createScriptProcessor(size_t bufferSize, size_t numberO
fInputChannels, size_t numberOfOutputChannels, ExceptionState&); |
| 126 StereoPannerNode* createStereoPanner(); |
125 ChannelSplitterNode* createChannelSplitter(ExceptionState&); | 127 ChannelSplitterNode* createChannelSplitter(ExceptionState&); |
126 ChannelSplitterNode* createChannelSplitter(size_t numberOfOutputs, Exception
State&); | 128 ChannelSplitterNode* createChannelSplitter(size_t numberOfOutputs, Exception
State&); |
127 ChannelMergerNode* createChannelMerger(ExceptionState&); | 129 ChannelMergerNode* createChannelMerger(ExceptionState&); |
128 ChannelMergerNode* createChannelMerger(size_t numberOfInputs, ExceptionState
&); | 130 ChannelMergerNode* createChannelMerger(size_t numberOfInputs, ExceptionState
&); |
129 OscillatorNode* createOscillator(); | 131 OscillatorNode* createOscillator(); |
130 PeriodicWave* createPeriodicWave(DOMFloat32Array* real, DOMFloat32Array* ima
g, ExceptionState&); | 132 PeriodicWave* createPeriodicWave(DOMFloat32Array* real, DOMFloat32Array* ima
g, ExceptionState&); |
131 | 133 |
132 // When a source node has no more processing to do (has finished playing), t
hen it tells the context to dereference it. | 134 // When a source node has no more processing to do (has finished playing), t
hen it tells the context to dereference it. |
133 void notifyNodeFinishedProcessing(AudioNode*); | 135 void notifyNodeFinishedProcessing(AudioNode*); |
134 | 136 |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 HashSet<AudioNode*> m_deferredCountModeChange; | 349 HashSet<AudioNode*> m_deferredCountModeChange; |
348 | 350 |
349 // This is considering 32 is large enough for multiple channels audio. | 351 // This is considering 32 is large enough for multiple channels audio. |
350 // It is somewhat arbitrary and could be increased if necessary. | 352 // It is somewhat arbitrary and could be increased if necessary. |
351 enum { MaxNumberOfChannels = 32 }; | 353 enum { MaxNumberOfChannels = 32 }; |
352 }; | 354 }; |
353 | 355 |
354 } // namespace blink | 356 } // namespace blink |
355 | 357 |
356 #endif // AudioContext_h | 358 #endif // AudioContext_h |
OLD | NEW |