OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011, Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 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 |
11 * documentation and/or other materials provided with the distribution. | 11 * documentation and/or other materials provided with the distribution. |
12 * | 12 * |
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
Y | 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
Y |
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
Y | 16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
Y |
17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
N | 19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
N |
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
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 #include "modules/webaudio/DynamicsCompressorNode.h" |
25 #include "modules/webaudio/AudioNodeInput.h" | 26 #include "modules/webaudio/AudioNodeInput.h" |
26 #include "modules/webaudio/AudioNodeOutput.h" | 27 #include "modules/webaudio/AudioNodeOutput.h" |
27 #include "modules/webaudio/DynamicsCompressorNode.h" | |
28 #include "platform/audio/DynamicsCompressor.h" | 28 #include "platform/audio/DynamicsCompressor.h" |
29 #include "wtf/PtrUtil.h" | |
30 | 29 |
31 // Set output to stereo by default. | 30 // Set output to stereo by default. |
32 static const unsigned defaultNumberOfOutputChannels = 2; | 31 static const unsigned defaultNumberOfOutputChannels = 2; |
33 | 32 |
34 namespace blink { | 33 namespace blink { |
35 | 34 |
36 DynamicsCompressorHandler::DynamicsCompressorHandler( | 35 DynamicsCompressorHandler::DynamicsCompressorHandler( |
37 AudioNode& node, | 36 AudioNode& node, |
38 float sampleRate, | 37 float sampleRate, |
39 AudioParamHandler& threshold, | 38 AudioParamHandler& threshold, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 98 |
100 m_reduction = m_dynamicsCompressor->parameterValue(DynamicsCompressor::Param
Reduction); | 99 m_reduction = m_dynamicsCompressor->parameterValue(DynamicsCompressor::Param
Reduction); |
101 } | 100 } |
102 | 101 |
103 void DynamicsCompressorHandler::initialize() | 102 void DynamicsCompressorHandler::initialize() |
104 { | 103 { |
105 if (isInitialized()) | 104 if (isInitialized()) |
106 return; | 105 return; |
107 | 106 |
108 AudioHandler::initialize(); | 107 AudioHandler::initialize(); |
109 m_dynamicsCompressor = wrapUnique(new DynamicsCompressor(sampleRate(), defau
ltNumberOfOutputChannels)); | 108 m_dynamicsCompressor = adoptPtr(new DynamicsCompressor(sampleRate(), default
NumberOfOutputChannels)); |
110 } | 109 } |
111 | 110 |
112 void DynamicsCompressorHandler::clearInternalStateWhenDisabled() | 111 void DynamicsCompressorHandler::clearInternalStateWhenDisabled() |
113 { | 112 { |
114 m_reduction = 0; | 113 m_reduction = 0; |
115 } | 114 } |
116 | 115 |
117 double DynamicsCompressorHandler::tailTime() const | 116 double DynamicsCompressorHandler::tailTime() const |
118 { | 117 { |
119 return m_dynamicsCompressor->tailTime(); | 118 return m_dynamicsCompressor->tailTime(); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 return m_attack; | 195 return m_attack; |
197 } | 196 } |
198 | 197 |
199 AudioParam* DynamicsCompressorNode::release() const | 198 AudioParam* DynamicsCompressorNode::release() const |
200 { | 199 { |
201 return m_release; | 200 return m_release; |
202 } | 201 } |
203 | 202 |
204 } // namespace blink | 203 } // namespace blink |
205 | 204 |
OLD | NEW |