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 23 matching lines...) Expand all Loading... |
34 #include "wtf/PassRefPtr.h" | 34 #include "wtf/PassRefPtr.h" |
35 #include "wtf/RefPtr.h" | 35 #include "wtf/RefPtr.h" |
36 #include "wtf/Vector.h" | 36 #include "wtf/Vector.h" |
37 | 37 |
38 namespace blink { | 38 namespace blink { |
39 | 39 |
40 class BaseAudioContext; | 40 class BaseAudioContext; |
41 class AudioBuffer; | 41 class AudioBuffer; |
42 class WaitableEvent; | 42 class WaitableEvent; |
43 | 43 |
44 // ScriptProcessorNode is an AudioNode which allows for arbitrary synthesis or p
rocessing directly using JavaScript. | 44 // ScriptProcessorNode is an AudioNode which allows for arbitrary synthesis or |
45 // The API allows for a variable number of inputs and outputs, although it must
have at least one input or output. | 45 // processing directly using JavaScript. The API allows for a variable number |
46 // This basic implementation supports no more than one input and output. | 46 // of inputs and outputs, although it must have at least one input or output. |
47 // The "onaudioprocess" attribute is an event listener which will get called per
iodically with an AudioProcessingEvent which has | 47 // This basic implementation supports no more than one input and output. The |
48 // AudioBuffers for each input and output. | 48 // "onaudioprocess" attribute is an event listener which will get called |
| 49 // periodically with an AudioProcessingEvent which has AudioBuffers for each |
| 50 // input and output. |
49 | 51 |
50 class ScriptProcessorHandler final : public AudioHandler { | 52 class ScriptProcessorHandler final : public AudioHandler { |
51 public: | 53 public: |
52 static PassRefPtr<ScriptProcessorHandler> create( | 54 static PassRefPtr<ScriptProcessorHandler> create( |
53 AudioNode&, | 55 AudioNode&, |
54 float sampleRate, | 56 float sampleRate, |
55 size_t bufferSize, | 57 size_t bufferSize, |
56 unsigned numberOfInputChannels, | 58 unsigned numberOfInputChannels, |
57 unsigned numberOfOutputChannels); | 59 unsigned numberOfOutputChannels); |
58 ~ScriptProcessorHandler() override; | 60 ~ScriptProcessorHandler() override; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 ScriptProcessorNode(BaseAudioContext&, | 147 ScriptProcessorNode(BaseAudioContext&, |
146 float sampleRate, | 148 float sampleRate, |
147 size_t bufferSize, | 149 size_t bufferSize, |
148 unsigned numberOfInputChannels, | 150 unsigned numberOfInputChannels, |
149 unsigned numberOfOutputChannels); | 151 unsigned numberOfOutputChannels); |
150 }; | 152 }; |
151 | 153 |
152 } // namespace blink | 154 } // namespace blink |
153 | 155 |
154 #endif // ScriptProcessorNode_h | 156 #endif // ScriptProcessorNode_h |
OLD | NEW |