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

Side by Side Diff: Source/platform/audio/AudioProcessor.h

Issue 409303002: Oilpan: WebAudio: Prepare to move AudioProcessor hierarchy to Oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef AudioProcessor_h 31 #ifndef AudioProcessor_h
32 #define AudioProcessor_h 32 #define AudioProcessor_h
33 33
34 #include "platform/PlatformExport.h" 34 #include "platform/PlatformExport.h"
35 #include "platform/heap/Handle.h"
35 36
36 namespace blink { 37 namespace blink {
37 38
38 class AudioBus; 39 class AudioBus;
39 40
40 // AudioProcessor is an abstract base class representing an audio signal process ing object with a single input and a single output, 41 // AudioProcessor is an abstract base class representing an audio signal process ing object with a single input and a single output,
41 // where the number of input channels equals the number of output channels. It can be used as one part of a complex DSP algorithm, 42 // where the number of input channels equals the number of output channels. It can be used as one part of a complex DSP algorithm,
42 // or as the processor for a basic (one input - one output) AudioNode. 43 // or as the processor for a basic (one input - one output) AudioNode.
43 44
44 class PLATFORM_EXPORT AudioProcessor { 45 class PLATFORM_EXPORT AudioProcessor : public NoBaseWillBeGarbageCollectedFinali zed<AudioProcessor> {
45 public: 46 public:
46 AudioProcessor(float sampleRate, unsigned numberOfChannels) 47 AudioProcessor(float sampleRate, unsigned numberOfChannels)
47 : m_initialized(false) 48 : m_initialized(false)
48 , m_numberOfChannels(numberOfChannels) 49 , m_numberOfChannels(numberOfChannels)
49 , m_sampleRate(sampleRate) 50 , m_sampleRate(sampleRate)
50 { 51 {
51 } 52 }
52 53
53 virtual ~AudioProcessor(); 54 virtual ~AudioProcessor();
55 virtual void trace(Visitor*);
54 56
55 // Full initialization can be done here instead of in the constructor. 57 // Full initialization can be done here instead of in the constructor.
56 virtual void initialize() = 0; 58 virtual void initialize() = 0;
57 virtual void uninitialize() = 0; 59 virtual void uninitialize() = 0;
58 60
59 // Processes the source to destination bus. The number of channels must mat ch in source and destination. 61 // Processes the source to destination bus. The number of channels must mat ch in source and destination.
60 virtual void process(const AudioBus* source, AudioBus* destination, size_t f ramesToProcess) = 0; 62 virtual void process(const AudioBus* source, AudioBus* destination, size_t f ramesToProcess) = 0;
61 63
62 // Resets filter state 64 // Resets filter state
63 virtual void reset() = 0; 65 virtual void reset() = 0;
(...skipping 10 matching lines...) Expand all
74 76
75 protected: 77 protected:
76 bool m_initialized; 78 bool m_initialized;
77 unsigned m_numberOfChannels; 79 unsigned m_numberOfChannels;
78 float m_sampleRate; 80 float m_sampleRate;
79 }; 81 };
80 82
81 } // namespace blink 83 } // namespace blink
82 84
83 #endif // AudioProcessor_h 85 #endif // AudioProcessor_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698