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" | |
26 #include "modules/webaudio/AudioNodeInput.h" | 25 #include "modules/webaudio/AudioNodeInput.h" |
27 #include "modules/webaudio/AudioNodeOutput.h" | 26 #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" |
29 | 30 |
30 // Set output to stereo by default. | 31 // Set output to stereo by default. |
31 static const unsigned defaultNumberOfOutputChannels = 2; | 32 static const unsigned defaultNumberOfOutputChannels = 2; |
32 | 33 |
33 namespace blink { | 34 namespace blink { |
34 | 35 |
35 DynamicsCompressorHandler::DynamicsCompressorHandler( | 36 DynamicsCompressorHandler::DynamicsCompressorHandler( |
36 AudioNode& node, | 37 AudioNode& node, |
37 float sampleRate, | 38 float sampleRate, |
38 AudioParamHandler& threshold, | 39 AudioParamHandler& threshold, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 | 99 |
99 m_reduction = m_dynamicsCompressor->parameterValue(DynamicsCompressor::Param
Reduction); | 100 m_reduction = m_dynamicsCompressor->parameterValue(DynamicsCompressor::Param
Reduction); |
100 } | 101 } |
101 | 102 |
102 void DynamicsCompressorHandler::initialize() | 103 void DynamicsCompressorHandler::initialize() |
103 { | 104 { |
104 if (isInitialized()) | 105 if (isInitialized()) |
105 return; | 106 return; |
106 | 107 |
107 AudioHandler::initialize(); | 108 AudioHandler::initialize(); |
108 m_dynamicsCompressor = adoptPtr(new DynamicsCompressor(sampleRate(), default
NumberOfOutputChannels)); | 109 m_dynamicsCompressor = wrapUnique(new DynamicsCompressor(sampleRate(), defau
ltNumberOfOutputChannels)); |
109 } | 110 } |
110 | 111 |
111 void DynamicsCompressorHandler::clearInternalStateWhenDisabled() | 112 void DynamicsCompressorHandler::clearInternalStateWhenDisabled() |
112 { | 113 { |
113 m_reduction = 0; | 114 m_reduction = 0; |
114 } | 115 } |
115 | 116 |
116 double DynamicsCompressorHandler::tailTime() const | 117 double DynamicsCompressorHandler::tailTime() const |
117 { | 118 { |
118 return m_dynamicsCompressor->tailTime(); | 119 return m_dynamicsCompressor->tailTime(); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 return m_attack; | 196 return m_attack; |
196 } | 197 } |
197 | 198 |
198 AudioParam* DynamicsCompressorNode::release() const | 199 AudioParam* DynamicsCompressorNode::release() const |
199 { | 200 { |
200 return m_release; | 201 return m_release; |
201 } | 202 } |
202 | 203 |
203 } // namespace blink | 204 } // namespace blink |
204 | 205 |
OLD | NEW |