OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 size_t last_insert_index_ = 0; | 97 size_t last_insert_index_ = 0; |
98 RenderBuffer fft_buffer_; | 98 RenderBuffer fft_buffer_; |
99 DownsampledRenderBuffer downsampled_render_buffer_; | 99 DownsampledRenderBuffer downsampled_render_buffer_; |
100 DecimatorBy4 render_decimator_; | 100 DecimatorBy4 render_decimator_; |
101 ApiCallJitterBuffer api_call_jitter_buffer_; | 101 ApiCallJitterBuffer api_call_jitter_buffer_; |
102 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RenderDelayBufferImpl); | 102 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RenderDelayBufferImpl); |
103 }; | 103 }; |
104 | 104 |
105 RenderDelayBufferImpl::RenderDelayBufferImpl(size_t num_bands) | 105 RenderDelayBufferImpl::RenderDelayBufferImpl(size_t num_bands) |
106 : optimization_(DetectOptimization()), | 106 : optimization_(DetectOptimization()), |
107 fft_buffer_(optimization_, | 107 fft_buffer_( |
108 num_bands, | 108 optimization_, |
109 std::max(30, kAdaptiveFilterLength), | 109 num_bands, |
110 std::vector<size_t>(1, kAdaptiveFilterLength)), | 110 std::max(kResidualEchoPowerRenderWindowSize, kAdaptiveFilterLength), |
| 111 std::vector<size_t>(1, kAdaptiveFilterLength)), |
111 api_call_jitter_buffer_(num_bands) { | 112 api_call_jitter_buffer_(num_bands) { |
112 buffer_.fill(std::vector<std::vector<float>>( | 113 buffer_.fill(std::vector<std::vector<float>>( |
113 num_bands, std::vector<float>(kBlockSize, 0.f))); | 114 num_bands, std::vector<float>(kBlockSize, 0.f))); |
114 | 115 |
115 RTC_DCHECK_LT(buffer_.size(), downsampled_render_buffer_.buffer.size()); | 116 RTC_DCHECK_LT(buffer_.size(), downsampled_render_buffer_.buffer.size()); |
116 } | 117 } |
117 | 118 |
118 RenderDelayBufferImpl::~RenderDelayBufferImpl() = default; | 119 RenderDelayBufferImpl::~RenderDelayBufferImpl() = default; |
119 | 120 |
120 void RenderDelayBufferImpl::Reset() { | 121 void RenderDelayBufferImpl::Reset() { |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 } | 195 } |
195 } | 196 } |
196 | 197 |
197 } // namespace | 198 } // namespace |
198 | 199 |
199 RenderDelayBuffer* RenderDelayBuffer::Create(size_t num_bands) { | 200 RenderDelayBuffer* RenderDelayBuffer::Create(size_t num_bands) { |
200 return new RenderDelayBufferImpl(num_bands); | 201 return new RenderDelayBufferImpl(num_bands); |
201 } | 202 } |
202 | 203 |
203 } // namespace webrtc | 204 } // namespace webrtc |
OLD | NEW |