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 18 matching lines...) Expand all Loading... |
29 #include "bindings/core/v8/ScriptPromise.h" | 29 #include "bindings/core/v8/ScriptPromise.h" |
30 #include "bindings/core/v8/ScriptPromiseResolver.h" | 30 #include "bindings/core/v8/ScriptPromiseResolver.h" |
31 #include "core/dom/ArrayBufferViewHelpers.h" | 31 #include "core/dom/ArrayBufferViewHelpers.h" |
32 #include "core/dom/DOMTypedArray.h" | 32 #include "core/dom/DOMTypedArray.h" |
33 #include "core/dom/SuspendableObject.h" | 33 #include "core/dom/SuspendableObject.h" |
34 #include "core/events/EventListener.h" | 34 #include "core/events/EventListener.h" |
35 #include "modules/EventTargetModules.h" | 35 #include "modules/EventTargetModules.h" |
36 #include "modules/ModulesExport.h" | 36 #include "modules/ModulesExport.h" |
37 #include "modules/webaudio/AsyncAudioDecoder.h" | 37 #include "modules/webaudio/AsyncAudioDecoder.h" |
38 #include "modules/webaudio/AudioDestinationNode.h" | 38 #include "modules/webaudio/AudioDestinationNode.h" |
| 39 #include "modules/webaudio/AudioWorklet.h" |
| 40 #include "modules/webaudio/AudioWorkletMessagingProxy.h" |
| 41 #include "modules/webaudio/AudioWorkletThread.h" |
39 #include "modules/webaudio/DeferredTaskHandler.h" | 42 #include "modules/webaudio/DeferredTaskHandler.h" |
40 #include "modules/webaudio/IIRFilterNode.h" | 43 #include "modules/webaudio/IIRFilterNode.h" |
| 44 #include "modules/webaudio/WindowAudioWorklet.h" |
41 #include "platform/audio/AudioBus.h" | 45 #include "platform/audio/AudioBus.h" |
42 #include "platform/bindings/ActiveScriptWrappable.h" | 46 #include "platform/bindings/ActiveScriptWrappable.h" |
43 #include "platform/heap/Handle.h" | 47 #include "platform/heap/Handle.h" |
44 #include "platform/wtf/HashSet.h" | 48 #include "platform/wtf/HashSet.h" |
45 #include "platform/wtf/RefPtr.h" | 49 #include "platform/wtf/RefPtr.h" |
46 #include "platform/wtf/Threading.h" | 50 #include "platform/wtf/Threading.h" |
47 #include "platform/wtf/Vector.h" | 51 #include "platform/wtf/Vector.h" |
48 #include "platform/wtf/build_config.h" | 52 #include "platform/wtf/build_config.h" |
49 | 53 |
| 54 |
50 namespace blink { | 55 namespace blink { |
51 | 56 |
52 class AnalyserNode; | 57 class AnalyserNode; |
53 class AudioBuffer; | 58 class AudioBuffer; |
54 class AudioBufferCallback; | 59 class AudioBufferCallback; |
55 class AudioBufferSourceNode; | 60 class AudioBufferSourceNode; |
56 class AudioContextOptions; | 61 class AudioContextOptions; |
57 class AudioListener; | 62 class AudioListener; |
| 63 class AudioWorkletMessagingProxy; |
58 class BaseAudioContextTest; | 64 class BaseAudioContextTest; |
59 class BiquadFilterNode; | 65 class BiquadFilterNode; |
60 class ChannelMergerNode; | 66 class ChannelMergerNode; |
61 class ChannelSplitterNode; | 67 class ChannelSplitterNode; |
62 class ConstantSourceNode; | 68 class ConstantSourceNode; |
63 class ConvolverNode; | 69 class ConvolverNode; |
64 class DelayNode; | 70 class DelayNode; |
65 class Document; | 71 class Document; |
66 class DynamicsCompressorNode; | 72 class DynamicsCompressorNode; |
67 class ExceptionState; | 73 class ExceptionState; |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 | 330 |
325 // Get the PeriodicWave for the specified oscillator type. The table is | 331 // Get the PeriodicWave for the specified oscillator type. The table is |
326 // initialized internally if necessary. | 332 // initialized internally if necessary. |
327 PeriodicWave* GetPeriodicWave(int type); | 333 PeriodicWave* GetPeriodicWave(int type); |
328 | 334 |
329 // For metrics purpose, records when start() is called on a | 335 // For metrics purpose, records when start() is called on a |
330 // AudioScheduledSourceHandler or a AudioBufferSourceHandler without a user | 336 // AudioScheduledSourceHandler or a AudioBufferSourceHandler without a user |
331 // gesture while the AudioContext requires a user gesture. | 337 // gesture while the AudioContext requires a user gesture. |
332 void MaybeRecordStartAttempt(); | 338 void MaybeRecordStartAttempt(); |
333 | 339 |
| 340 AudioWorklet* GetAudioWorklet(); |
| 341 AudioWorkletMessagingProxy* GetWorkletMessagingProxy(); |
| 342 WebThreadSupportingGC* GetRenderingThread(); |
| 343 |
334 protected: | 344 protected: |
335 explicit BaseAudioContext(Document*); | 345 explicit BaseAudioContext(Document*); |
336 BaseAudioContext(Document*, | 346 BaseAudioContext(Document*, |
337 unsigned number_of_channels, | 347 unsigned number_of_channels, |
338 size_t number_of_frames, | 348 size_t number_of_frames, |
339 float sample_rate); | 349 float sample_rate); |
340 | 350 |
341 void Initialize(); | 351 void Initialize(); |
342 void Uninitialize(); | 352 void Uninitialize(); |
343 | 353 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 Member<PeriodicWave> periodic_wave_square_; | 485 Member<PeriodicWave> periodic_wave_square_; |
476 Member<PeriodicWave> periodic_wave_sawtooth_; | 486 Member<PeriodicWave> periodic_wave_sawtooth_; |
477 Member<PeriodicWave> periodic_wave_triangle_; | 487 Member<PeriodicWave> periodic_wave_triangle_; |
478 | 488 |
479 // This is considering 32 is large enough for multiple channels audio. | 489 // This is considering 32 is large enough for multiple channels audio. |
480 // It is somewhat arbitrary and could be increased if necessary. | 490 // It is somewhat arbitrary and could be increased if necessary. |
481 enum { kMaxNumberOfChannels = 32 }; | 491 enum { kMaxNumberOfChannels = 32 }; |
482 | 492 |
483 Optional<AutoplayStatus> autoplay_status_; | 493 Optional<AutoplayStatus> autoplay_status_; |
484 AudioIOPosition output_position_; | 494 AudioIOPosition output_position_; |
| 495 |
| 496 AudioWorkletMessagingProxy* worklet_messaging_proxy_; |
485 }; | 497 }; |
486 | 498 |
487 } // namespace blink | 499 } // namespace blink |
488 | 500 |
489 #endif // BaseAudioContext_h | 501 #endif // BaseAudioContext_h |
OLD | NEW |