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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 // Can be called from main thread or context's audio thread. It must be | 134 // Can be called from main thread or context's audio thread. It must be |
135 // called while the context's graph lock is held. | 135 // called while the context's graph lock is held. |
136 void breakConnectionWithLock(); | 136 void breakConnectionWithLock(); |
137 | 137 |
138 // The AudioNodeInput(s) (if any) will already have their input data available | 138 // The AudioNodeInput(s) (if any) will already have their input data available |
139 // when process() is called. Subclasses will take this input data and put the | 139 // when process() is called. Subclasses will take this input data and put the |
140 // results in the AudioBus(s) of its AudioNodeOutput(s) (if any). | 140 // results in the AudioBus(s) of its AudioNodeOutput(s) (if any). |
141 // Called from context's audio thread. | 141 // Called from context's audio thread. |
142 virtual void process(size_t framesToProcess) = 0; | 142 virtual void process(size_t framesToProcess) = 0; |
143 | 143 |
| 144 // Like process(), but only causes the automations to process; the |
| 145 // normal processing of the node is bypassed. By default, we assume |
| 146 // no AudioParams need to be updated. |
| 147 virtual void processOnlyAudioParams(size_t framesToProcess){}; |
| 148 |
144 // No significant resources should be allocated until initialize() is called. | 149 // No significant resources should be allocated until initialize() is called. |
145 // Processing may not occur until a node is initialized. | 150 // Processing may not occur until a node is initialized. |
146 virtual void initialize(); | 151 virtual void initialize(); |
147 virtual void uninitialize(); | 152 virtual void uninitialize(); |
148 | 153 |
149 // Clear internal state when the node is disabled. When a node is disabled, | 154 // Clear internal state when the node is disabled. When a node is disabled, |
150 // it is no longer pulled so any internal state is never updated. But some | 155 // it is no longer pulled so any internal state is never updated. But some |
151 // nodes (DynamicsCompressorNode) have internal state that is still | 156 // nodes (DynamicsCompressorNode) have internal state that is still |
152 // accessible by the user. Update the internal state as if the node were | 157 // accessible by the user. Update the internal state as if the node were |
153 // still connected but processing all zeroes. This gives a consistent view | 158 // still connected but processing all zeroes. This gives a consistent view |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes; | 375 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes; |
371 // Represents audio node graph with Oilpan references. N-th HeapHashSet | 376 // Represents audio node graph with Oilpan references. N-th HeapHashSet |
372 // represents a set of AudioParam objects connected to this AudioNode's N-th | 377 // represents a set of AudioParam objects connected to this AudioNode's N-th |
373 // output. | 378 // output. |
374 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams; | 379 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams; |
375 }; | 380 }; |
376 | 381 |
377 } // namespace blink | 382 } // namespace blink |
378 | 383 |
379 #endif // AudioNode_h | 384 #endif // AudioNode_h |
OLD | NEW |