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

Side by Side Diff: Source/modules/webaudio/AudioNodeInput.h

Issue 1318793005: [part 2] Make classes and structures in modules fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « Source/modules/webaudio/AsyncAudioDecoder.h ('k') | Source/modules/webaudio/AudioNodeOutput.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 10 matching lines...) Expand all
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */ 23 */
24 24
25 #ifndef AudioNodeInput_h 25 #ifndef AudioNodeInput_h
26 #define AudioNodeInput_h 26 #define AudioNodeInput_h
27 27
28 #include "modules/webaudio/AudioNode.h" 28 #include "modules/webaudio/AudioNode.h"
29 #include "modules/webaudio/AudioSummingJunction.h" 29 #include "modules/webaudio/AudioSummingJunction.h"
30 #include "platform/audio/AudioBus.h" 30 #include "platform/audio/AudioBus.h"
31 #include "wtf/FastAllocBase.h"
31 #include "wtf/HashSet.h" 32 #include "wtf/HashSet.h"
32 33
33 namespace blink { 34 namespace blink {
34 35
35 class AudioNodeOutput; 36 class AudioNodeOutput;
36 37
37 // An AudioNodeInput represents an input to an AudioNode and can be connected fr om one or more AudioNodeOutputs. 38 // An AudioNodeInput represents an input to an AudioNode and can be connected fr om one or more AudioNodeOutputs.
38 // In the case of multiple connections, the input will act as a unity-gain summi ng junction, mixing all the outputs. 39 // In the case of multiple connections, the input will act as a unity-gain summi ng junction, mixing all the outputs.
39 // The number of channels of the input's bus is the maximum of the number of cha nnels of all its connections. 40 // The number of channels of the input's bus is the maximum of the number of cha nnels of all its connections.
40 41
41 class AudioNodeInput final : public AudioSummingJunction { 42 class AudioNodeInput final : public AudioSummingJunction {
43 WTF_MAKE_FAST_ALLOCATED(AudioNodeInput);
42 public: 44 public:
43 static PassOwnPtr<AudioNodeInput> create(AudioHandler&); 45 static PassOwnPtr<AudioNodeInput> create(AudioHandler&);
44 46
45 // AudioSummingJunction 47 // AudioSummingJunction
46 void didUpdate() override; 48 void didUpdate() override;
47 49
48 // Can be called from any thread. 50 // Can be called from any thread.
49 AudioHandler& handler() const { return m_handler; } 51 AudioHandler& handler() const { return m_handler; }
50 52
51 // Must be called with the context's graph lock. 53 // Must be called with the context's graph lock.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 // Called from context's audio thread. 98 // Called from context's audio thread.
97 AudioBus* internalSummingBus(); 99 AudioBus* internalSummingBus();
98 void sumAllConnections(AudioBus* summingBus, size_t framesToProcess); 100 void sumAllConnections(AudioBus* summingBus, size_t framesToProcess);
99 101
100 RefPtr<AudioBus> m_internalSummingBus; 102 RefPtr<AudioBus> m_internalSummingBus;
101 }; 103 };
102 104
103 } // namespace blink 105 } // namespace blink
104 106
105 #endif // AudioNodeInput_h 107 #endif // AudioNodeInput_h
OLDNEW
« no previous file with comments | « Source/modules/webaudio/AsyncAudioDecoder.h ('k') | Source/modules/webaudio/AudioNodeOutput.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698