Name Description Size
AlignedTArray.h E: element type, must be a POD type. N: N bytes alignment for the first element, defaults to 32 S: S bytes of inline storage 3987
AlignmentUtils.h 886
AnalyserNode.cpp static 12116
AnalyserNode.h 2929
AudioBlock.cpp Heap-allocated buffer of channels of 128-sample float arrays, with threadsafe refcounting. Typically you would allocate one of these, fill it in, and then treat it as immutable while it's shared. Downstream references are accounted specially so that the creator of the buffer can reuse and modify its contents next iteration if other references are all downstream temporary references held by AudioBlock. We guarantee 16 byte alignment of the channel data. 5708
AudioBlock.h An AudioChunk whose buffer contents need to be valid only for one processing block iteration, after which contents can be overwritten if the buffer has not been passed to longer term storage or to another thread, which may happen though AsAudioChunk() or AsMutableChunk(). Use on graph thread only. 4602
AudioBuffer.cpp AudioBuffers can be shared between AudioContexts, so we need a separate mechanism to track their memory usage. This thread-safe class keeps track of all the AudioBuffers, and gets called back by the memory reporting system when a memory report is needed, reporting how much memory is used by the buffers backing AudioBuffer objects. 16926
AudioBuffer.h An AudioBuffer keeps its data either in the mJSChannels objects, which are Float32Arrays, or in mSharedChannels if the mJSChannels objects' buffers are detached. 4920
AudioBufferSourceNode.cpp Media-thread playback engine for AudioBufferSourceNode. Nothing is played until a non-null buffer has been set (via AudioNodeTrack::SetBuffer) and a non-zero mBufferSampleRate has been set (via AudioNodeTrack::SetInt32Parameter) 31168
AudioBufferSourceNode.h 4076
AudioContext.cpp 46679
AudioContext.h This runnable allows the MTG to notify the main thread when audio is actually flowing 18317
AudioDestinationNode.cpp 21917
AudioDestinationNode.h 4396
AudioEventTimeline.cpp 12942
AudioEventTimeline.h 12441
AudioListener.cpp 4347
AudioListener.h 2417
AudioNode.cpp 20485
AudioNode.h The DOM object representing a Web Audio AudioNode. Each AudioNode has a MediaTrack representing the actual real-time processing and output of this AudioNode. We track the incoming and outgoing connections to other AudioNodes. Outgoing connections have strong ownership. Also, AudioNodes that will produce sound on their output even when they have silent or no input ask the AudioContext to keep playing or tail-time references to keep them alive until the context is finished. Explicit disconnections will only remove references from output nodes after the graph is notified and the main thread receives a reply. Similarly, nodes with playing or tail-time references release these references only after receiving notification from their engine on the graph thread that playing has stopped. Engines notifying the main thread that they have finished do so strictly *after* producing and returning their last block. In this way, an engine that receives non-null input knows that the input comes from nodes that are still alive and will keep their output nodes alive for at least as long as it takes to process messages from the graph thread. i.e. the engine receiving non-null input knows that its node is still alive, and will still be alive when it receives a message from the engine. 11726
AudioNodeEngine.cpp 13697
AudioNodeEngine.h This class holds onto a set of immutable channel buffers. The storage for the buffers must be malloced, but the buffer pointers and the malloc pointers can be different (e.g. if the buffers are contained inside some malloced object). 13638
AudioNodeEngineGeneric.h 2176
AudioNodeEngineGenericImpl.h 12132
AudioNodeEngineNEON.cpp 407
AudioNodeEngineSSE2.cpp 408
AudioNodeEngineSSE4_2_FMA3.cpp 423
AudioNodeExternalInputTrack.cpp static 7990
AudioNodeExternalInputTrack.h This is a MediaTrack implementation that acts for a Web Audio node but unlike other AudioNodeTracks, supports any kind of MediaTrack as an input --- handling any number of audio tracks and handling blocking of the input MediaTrack. 1485
AudioNodeTrack.cpp An AudioNodeTrack produces a single audio track with ID AUDIO_TRACK. This track has rate AudioContext::sIdealAudioRate for regular audio contexts, and the rate requested by the web content for offline audio contexts. Each chunk in the track is a single block of WEBAUDIO_BLOCK_SIZE samples. Note: This must be a different value than MEDIA_STREAM_DEST_TRACK_ID 24777
AudioNodeTrack.h An AudioNodeTrack produces one audio track with ID AUDIO_TRACK. The start time of the AudioTrack is aligned to the start time of the AudioContext's destination node track, plus some multiple of BLOCK_SIZE samples. An AudioNodeTrack has an AudioNodeEngine plugged into it that does the actual audio processing. AudioNodeTrack contains the glue code that integrates audio processing with the MediaTrackGraph. 9284
AudioParam.cpp 5772
AudioParam.h 8057
AudioParamDescriptorMap.h 833
AudioParamMap.cpp 789
AudioParamMap.h 1027
AudioParamTimeline.h 5015
AudioProcessingEvent.cpp 1803
AudioProcessingEvent.h 2179
AudioScheduledSourceNode.cpp 719
AudioScheduledSourceNode.h 1049
AudioWorkletGlobalScope.cpp 1. If the name is the empty string, throw a NotSupportedError exception and abort these steps because the empty string is not a valid key. 13175
AudioWorkletGlobalScope.h 3110
AudioWorkletImpl.cpp static 3096
AudioWorkletImpl.h 1855
AudioWorkletNode.cpp 34430
AudioWorkletNode.h 2301
AudioWorkletProcessor.cpp static 1847
AudioWorkletProcessor.h 1428
BiquadFilterNode.cpp 11812
BiquadFilterNode.h 2233
ChannelMergerNode.cpp static 3466
ChannelMergerNode.h 2135
ChannelSplitterNode.cpp static 3859
ChannelSplitterNode.h 2420
ConstantSourceNode.cpp 8392
ConstantSourceNode.h 1855
ConvolverNode.cpp 19780
ConvolverNode.h 2428
DelayBuffer.cpp 8743
DelayBuffer.h 3842
DelayNode.cpp 8066
DelayNode.h 1771
DynamicsCompressorNode.cpp 8289
DynamicsCompressorNode.h 2856
FFTBlock.cpp Copyright (C) 2010 Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 7236
FFTBlock.h 10100
GainNode.cpp static 5412
GainNode.h 1705
IIRFilterNode.cpp 9022
IIRFilterNode.h 1832
MediaBufferDecoder.cpp 24492
MediaBufferDecoder.h ignored 2148
MediaElementAudioSourceNode.cpp static 3832
MediaElementAudioSourceNode.h 2269
MediaStreamAudioDestinationNode.cpp static 5523
MediaStreamAudioDestinationNode.h 1865
MediaStreamAudioSourceNode.cpp static 9249
MediaStreamAudioSourceNode.h 4308
MediaStreamTrackAudioSourceNode.cpp static 7279
MediaStreamTrackAudioSourceNode.h 3474 4372
OscillatorNode.cpp 17306
OscillatorNode.h 2921
PannerNode.cpp 26809
PannerNode.h 6865
PanningUtils.h 2338
PeriodicWave.cpp static 4306
PeriodicWave.h 1931
PlayingRefChangeHandler.h 1142
ReportDecodeResultTask.h 938
ScriptProcessorNode.cpp 19032
ScriptProcessorNode.h 4469
StereoPannerNode.cpp 6968
StereoPannerNode.h 2425
ThreeDPoint.cpp Other similar methods can be added if needed. 1246
ThreeDPoint.h 1982
WaveShaperNode.cpp 12396
WaveShaperNode.h 2245
WebAudioUtils.cpp 5587
WebAudioUtils.h Converts an AudioTimelineEvent's floating point time values to tick values with respect to a destination AudioNodeTrack. This needs to be called for each AudioTimelineEvent that gets sent to an AudioNodeEngine, on the engine side where the AudioTimlineEvent is received. This means that such engines need to be aware of their destination tracks as well. 6243