| 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 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 | 122 |
| 123 // The reverb can handle a mono impulse response and still do stereo | 123 // The reverb can handle a mono impulse response and still do stereo |
| 124 // processing | 124 // processing |
| 125 size_t numResponseChannels = impulseResponseBuffer->numberOfChannels(); | 125 size_t numResponseChannels = impulseResponseBuffer->numberOfChannels(); |
| 126 m_convolvers.reserveCapacity(numberOfChannels); | 126 m_convolvers.reserveCapacity(numberOfChannels); |
| 127 | 127 |
| 128 int convolverRenderPhase = 0; | 128 int convolverRenderPhase = 0; |
| 129 for (size_t i = 0; i < numResponseChannels; ++i) { | 129 for (size_t i = 0; i < numResponseChannels; ++i) { |
| 130 AudioChannel* channel = impulseResponseBuffer->channel(i); | 130 AudioChannel* channel = impulseResponseBuffer->channel(i); |
| 131 | 131 |
| 132 std::unique_ptr<ReverbConvolver> convolver = wrapUnique( | 132 std::unique_ptr<ReverbConvolver> convolver = WTF::wrapUnique( |
| 133 new ReverbConvolver(channel, renderSliceSize, maxFFTSize, | 133 new ReverbConvolver(channel, renderSliceSize, maxFFTSize, |
| 134 convolverRenderPhase, useBackgroundThreads)); | 134 convolverRenderPhase, useBackgroundThreads)); |
| 135 m_convolvers.append(std::move(convolver)); | 135 m_convolvers.append(std::move(convolver)); |
| 136 | 136 |
| 137 convolverRenderPhase += renderSliceSize; | 137 convolverRenderPhase += renderSliceSize; |
| 138 } | 138 } |
| 139 | 139 |
| 140 // For "True" stereo processing we allocate a temporary buffer to avoid | 140 // For "True" stereo processing we allocate a temporary buffer to avoid |
| 141 // repeatedly allocating it in the process() method. It can be bad to | 141 // repeatedly allocating it in the process() method. It can be bad to |
| 142 // allocate memory in a real-time thread. | 142 // allocate memory in a real-time thread. |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 void Reverb::reset() { | 265 void Reverb::reset() { |
| 266 for (size_t i = 0; i < m_convolvers.size(); ++i) | 266 for (size_t i = 0; i < m_convolvers.size(); ++i) |
| 267 m_convolvers[i]->reset(); | 267 m_convolvers[i]->reset(); |
| 268 } | 268 } |
| 269 | 269 |
| 270 size_t Reverb::latencyFrames() const { | 270 size_t Reverb::latencyFrames() const { |
| 271 return !m_convolvers.isEmpty() ? m_convolvers.front()->latencyFrames() : 0; | 271 return !m_convolvers.isEmpty() ? m_convolvers.front()->latencyFrames() : 0; |
| 272 } | 272 } |
| 273 | 273 |
| 274 } // namespace blink | 274 } // namespace blink |
| OLD | NEW |