OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 int spectrum_size_; | 54 int spectrum_size_; |
55 // Dummy input spectra. | 55 // Dummy input spectra. |
56 float far_f_[kSpectrumSize]; | 56 float far_f_[kSpectrumSize]; |
57 float near_f_[kSpectrumSize]; | 57 float near_f_[kSpectrumSize]; |
58 uint16_t far_u16_[kSpectrumSize]; | 58 uint16_t far_u16_[kSpectrumSize]; |
59 uint16_t near_u16_[kSpectrumSize]; | 59 uint16_t near_u16_[kSpectrumSize]; |
60 uint32_t binary_spectrum_[kSequenceLength + kHistorySize]; | 60 uint32_t binary_spectrum_[kSequenceLength + kHistorySize]; |
61 }; | 61 }; |
62 | 62 |
63 DelayEstimatorTest::DelayEstimatorTest() | 63 DelayEstimatorTest::DelayEstimatorTest() |
64 : handle_(NULL), | 64 : handle_(nullptr), |
65 self_(NULL), | 65 self_(nullptr), |
66 farend_handle_(NULL), | 66 farend_handle_(nullptr), |
67 farend_self_(NULL), | 67 farend_self_(nullptr), |
68 binary_(NULL), | 68 binary_(nullptr), |
69 binary_farend_(NULL), | 69 binary_farend_(nullptr), |
70 spectrum_size_(kSpectrumSize) { | 70 spectrum_size_(kSpectrumSize) { |
71 // Dummy input data are set with more or less arbitrary non-zero values. | 71 // Dummy input data are set with more or less arbitrary non-zero values. |
72 memset(far_f_, 1, sizeof(far_f_)); | 72 memset(far_f_, 1, sizeof(far_f_)); |
73 memset(near_f_, 2, sizeof(near_f_)); | 73 memset(near_f_, 2, sizeof(near_f_)); |
74 memset(far_u16_, 1, sizeof(far_u16_)); | 74 memset(far_u16_, 1, sizeof(far_u16_)); |
75 memset(near_u16_, 2, sizeof(near_u16_)); | 75 memset(near_u16_, 2, sizeof(near_u16_)); |
76 // Construct a sequence of binary spectra used to verify delay estimate. The | 76 // Construct a sequence of binary spectra used to verify delay estimate. The |
77 // |kSequenceLength| has to be long enough for the delay estimation to leave | 77 // |kSequenceLength| has to be long enough for the delay estimation to leave |
78 // the initialized state. | 78 // the initialized state. |
79 binary_spectrum_[0] = 1; | 79 binary_spectrum_[0] = 1; |
80 for (int i = 1; i < (kSequenceLength + kHistorySize); i++) { | 80 for (int i = 1; i < (kSequenceLength + kHistorySize); i++) { |
81 binary_spectrum_[i] = 3 * binary_spectrum_[i - 1]; | 81 binary_spectrum_[i] = 3 * binary_spectrum_[i - 1]; |
82 } | 82 } |
83 } | 83 } |
84 | 84 |
85 void DelayEstimatorTest::SetUp() { | 85 void DelayEstimatorTest::SetUp() { |
86 farend_handle_ = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, | 86 farend_handle_ = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, |
87 kHistorySize); | 87 kHistorySize); |
88 ASSERT_TRUE(farend_handle_ != NULL); | 88 ASSERT_TRUE(farend_handle_ != nullptr); |
89 farend_self_ = reinterpret_cast<DelayEstimatorFarend*>(farend_handle_); | 89 farend_self_ = reinterpret_cast<DelayEstimatorFarend*>(farend_handle_); |
90 handle_ = WebRtc_CreateDelayEstimator(farend_handle_, kLookahead); | 90 handle_ = WebRtc_CreateDelayEstimator(farend_handle_, kLookahead); |
91 ASSERT_TRUE(handle_ != NULL); | 91 ASSERT_TRUE(handle_ != nullptr); |
92 self_ = reinterpret_cast<DelayEstimator*>(handle_); | 92 self_ = reinterpret_cast<DelayEstimator*>(handle_); |
93 binary_farend_ = WebRtc_CreateBinaryDelayEstimatorFarend(kHistorySize); | 93 binary_farend_ = WebRtc_CreateBinaryDelayEstimatorFarend(kHistorySize); |
94 ASSERT_TRUE(binary_farend_ != NULL); | 94 ASSERT_TRUE(binary_farend_ != nullptr); |
95 binary_ = WebRtc_CreateBinaryDelayEstimator(binary_farend_, kLookahead); | 95 binary_ = WebRtc_CreateBinaryDelayEstimator(binary_farend_, kLookahead); |
96 ASSERT_TRUE(binary_ != NULL); | 96 ASSERT_TRUE(binary_ != nullptr); |
97 } | 97 } |
98 | 98 |
99 void DelayEstimatorTest::TearDown() { | 99 void DelayEstimatorTest::TearDown() { |
100 WebRtc_FreeDelayEstimator(handle_); | 100 WebRtc_FreeDelayEstimator(handle_); |
101 handle_ = NULL; | 101 handle_ = nullptr; |
102 self_ = NULL; | 102 self_ = nullptr; |
103 WebRtc_FreeDelayEstimatorFarend(farend_handle_); | 103 WebRtc_FreeDelayEstimatorFarend(farend_handle_); |
104 farend_handle_ = NULL; | 104 farend_handle_ = nullptr; |
105 farend_self_ = NULL; | 105 farend_self_ = nullptr; |
106 WebRtc_FreeBinaryDelayEstimator(binary_); | 106 WebRtc_FreeBinaryDelayEstimator(binary_); |
107 binary_ = NULL; | 107 binary_ = nullptr; |
108 WebRtc_FreeBinaryDelayEstimatorFarend(binary_farend_); | 108 WebRtc_FreeBinaryDelayEstimatorFarend(binary_farend_); |
109 binary_farend_ = NULL; | 109 binary_farend_ = nullptr; |
110 } | 110 } |
111 | 111 |
112 void DelayEstimatorTest::Init() { | 112 void DelayEstimatorTest::Init() { |
113 // Initialize Delay Estimator | 113 // Initialize Delay Estimator |
114 EXPECT_EQ(0, WebRtc_InitDelayEstimatorFarend(farend_handle_)); | 114 EXPECT_EQ(0, WebRtc_InitDelayEstimatorFarend(farend_handle_)); |
115 EXPECT_EQ(0, WebRtc_InitDelayEstimator(handle_)); | 115 EXPECT_EQ(0, WebRtc_InitDelayEstimator(handle_)); |
116 // Verify initialization. | 116 // Verify initialization. |
117 EXPECT_EQ(0, farend_self_->far_spectrum_initialized); | 117 EXPECT_EQ(0, farend_self_->far_spectrum_initialized); |
118 EXPECT_EQ(0, self_->near_spectrum_initialized); | 118 EXPECT_EQ(0, self_->near_spectrum_initialized); |
119 EXPECT_EQ(-2, WebRtc_last_delay(handle_)); // Delay in initial state. | 119 EXPECT_EQ(-2, WebRtc_last_delay(handle_)); // Delay in initial state. |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 // For non-causal systems the delay is equivalent with a negative |offset| of | 207 // For non-causal systems the delay is equivalent with a negative |offset| of |
208 // the far-end sequence. | 208 // the far-end sequence. |
209 binary_->robust_validation_enabled = ref_robust_validation; | 209 binary_->robust_validation_enabled = ref_robust_validation; |
210 binary2->robust_validation_enabled = robust_validation; | 210 binary2->robust_validation_enabled = robust_validation; |
211 for (int offset = -kLookahead; | 211 for (int offset = -kLookahead; |
212 offset < kMaxDelay - lookahead_offset - near_offset; | 212 offset < kMaxDelay - lookahead_offset - near_offset; |
213 offset++) { | 213 offset++) { |
214 RunBinarySpectra(binary_, binary2, near_offset, lookahead_offset, offset); | 214 RunBinarySpectra(binary_, binary2, near_offset, lookahead_offset, offset); |
215 } | 215 } |
216 WebRtc_FreeBinaryDelayEstimator(binary2); | 216 WebRtc_FreeBinaryDelayEstimator(binary2); |
217 binary2 = NULL; | 217 binary2 = nullptr; |
218 binary_->robust_validation_enabled = 0; // Reset reference. | 218 binary_->robust_validation_enabled = 0; // Reset reference. |
219 } | 219 } |
220 | 220 |
221 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfWrapper) { | 221 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfWrapper) { |
222 // In this test we verify correct error returns on invalid API calls. | 222 // In this test we verify correct error returns on invalid API calls. |
223 | 223 |
224 // WebRtc_CreateDelayEstimatorFarend() and WebRtc_CreateDelayEstimator() | 224 // WebRtc_CreateDelayEstimatorFarend() and WebRtc_CreateDelayEstimator() |
225 // should return a NULL pointer on invalid input values. | 225 // should return a null pointer on invalid input values. |
226 // Make sure we have a non-NULL value at start, so we can detect NULL after | 226 // Make sure we have a non-null value at start, so we can detect null after |
227 // create failure. | 227 // create failure. |
228 void* handle = farend_handle_; | 228 void* handle = farend_handle_; |
229 handle = WebRtc_CreateDelayEstimatorFarend(33, kHistorySize); | 229 handle = WebRtc_CreateDelayEstimatorFarend(33, kHistorySize); |
230 EXPECT_TRUE(handle == NULL); | 230 EXPECT_TRUE(handle == nullptr); |
231 handle = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, 1); | 231 handle = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, 1); |
232 EXPECT_TRUE(handle == NULL); | 232 EXPECT_TRUE(handle == nullptr); |
233 | 233 |
234 handle = handle_; | 234 handle = handle_; |
235 handle = WebRtc_CreateDelayEstimator(NULL, kLookahead); | 235 handle = WebRtc_CreateDelayEstimator(nullptr, kLookahead); |
236 EXPECT_TRUE(handle == NULL); | 236 EXPECT_TRUE(handle == nullptr); |
237 handle = WebRtc_CreateDelayEstimator(farend_handle_, -1); | 237 handle = WebRtc_CreateDelayEstimator(farend_handle_, -1); |
238 EXPECT_TRUE(handle == NULL); | 238 EXPECT_TRUE(handle == nullptr); |
239 | 239 |
240 // WebRtc_InitDelayEstimatorFarend() and WebRtc_InitDelayEstimator() should | 240 // WebRtc_InitDelayEstimatorFarend() and WebRtc_InitDelayEstimator() should |
241 // return -1 if we have a NULL pointer as |handle|. | 241 // return -1 if we have a null pointer as |handle|. |
242 EXPECT_EQ(-1, WebRtc_InitDelayEstimatorFarend(NULL)); | 242 EXPECT_EQ(-1, WebRtc_InitDelayEstimatorFarend(nullptr)); |
243 EXPECT_EQ(-1, WebRtc_InitDelayEstimator(NULL)); | 243 EXPECT_EQ(-1, WebRtc_InitDelayEstimator(nullptr)); |
244 | 244 |
245 // WebRtc_AddFarSpectrumFloat() should return -1 if we have: | 245 // WebRtc_AddFarSpectrumFloat() should return -1 if we have: |
246 // 1) NULL pointer as |handle|. | 246 // 1) null pointer as |handle|. |
247 // 2) NULL pointer as far-end spectrum. | 247 // 2) null pointer as far-end spectrum. |
248 // 3) Incorrect spectrum size. | 248 // 3) Incorrect spectrum size. |
249 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFloat(NULL, far_f_, spectrum_size_)); | 249 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFloat(nullptr, far_f_, spectrum_size_)); |
250 // Use |farend_handle_| which is properly created at SetUp(). | 250 // Use |farend_handle_| which is properly created at SetUp(). |
251 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFloat(farend_handle_, NULL, | 251 EXPECT_EQ( |
252 spectrum_size_)); | 252 -1, WebRtc_AddFarSpectrumFloat(farend_handle_, nullptr, spectrum_size_)); |
253 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFloat(farend_handle_, far_f_, | 253 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFloat(farend_handle_, far_f_, |
254 spectrum_size_ + 1)); | 254 spectrum_size_ + 1)); |
255 | 255 |
256 // WebRtc_AddFarSpectrumFix() should return -1 if we have: | 256 // WebRtc_AddFarSpectrumFix() should return -1 if we have: |
257 // 1) NULL pointer as |handle|. | 257 // 1) null pointer as |handle|. |
258 // 2) NULL pointer as far-end spectrum. | 258 // 2) null pointer as far-end spectrum. |
259 // 3) Incorrect spectrum size. | 259 // 3) Incorrect spectrum size. |
260 // 4) Too high precision in far-end spectrum (Q-domain > 15). | 260 // 4) Too high precision in far-end spectrum (Q-domain > 15). |
261 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(NULL, far_u16_, spectrum_size_, 0)); | 261 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(nullptr, far_u16_, spectrum_size_, 0)); |
262 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(farend_handle_, NULL, spectrum_size_, | 262 EXPECT_EQ( |
263 0)); | 263 -1, WebRtc_AddFarSpectrumFix(farend_handle_, nullptr, spectrum_size_, 0)); |
264 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(farend_handle_, far_u16_, | 264 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(farend_handle_, far_u16_, |
265 spectrum_size_ + 1, 0)); | 265 spectrum_size_ + 1, 0)); |
266 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(farend_handle_, far_u16_, | 266 EXPECT_EQ(-1, WebRtc_AddFarSpectrumFix(farend_handle_, far_u16_, |
267 spectrum_size_, 16)); | 267 spectrum_size_, 16)); |
268 | 268 |
269 // WebRtc_set_history_size() should return -1 if: | 269 // WebRtc_set_history_size() should return -1 if: |
270 // 1) |handle| is a NULL. | 270 // 1) |handle| is a null. |
271 // 2) |history_size| <= 1. | 271 // 2) |history_size| <= 1. |
272 EXPECT_EQ(-1, WebRtc_set_history_size(NULL, 1)); | 272 EXPECT_EQ(-1, WebRtc_set_history_size(nullptr, 1)); |
273 EXPECT_EQ(-1, WebRtc_set_history_size(handle_, 1)); | 273 EXPECT_EQ(-1, WebRtc_set_history_size(handle_, 1)); |
274 // WebRtc_history_size() should return -1 if: | 274 // WebRtc_history_size() should return -1 if: |
275 // 1) NULL pointer input. | 275 // 1) null pointer input. |
276 EXPECT_EQ(-1, WebRtc_history_size(NULL)); | 276 EXPECT_EQ(-1, WebRtc_history_size(nullptr)); |
277 // 2) there is a mismatch between history size. | 277 // 2) there is a mismatch between history size. |
278 void* tmp_handle = WebRtc_CreateDelayEstimator(farend_handle_, kHistorySize); | 278 void* tmp_handle = WebRtc_CreateDelayEstimator(farend_handle_, kHistorySize); |
279 EXPECT_EQ(0, WebRtc_InitDelayEstimator(tmp_handle)); | 279 EXPECT_EQ(0, WebRtc_InitDelayEstimator(tmp_handle)); |
280 EXPECT_EQ(kDifferentHistorySize, | 280 EXPECT_EQ(kDifferentHistorySize, |
281 WebRtc_set_history_size(tmp_handle, kDifferentHistorySize)); | 281 WebRtc_set_history_size(tmp_handle, kDifferentHistorySize)); |
282 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(tmp_handle)); | 282 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(tmp_handle)); |
283 EXPECT_EQ(kHistorySize, WebRtc_set_history_size(handle_, kHistorySize)); | 283 EXPECT_EQ(kHistorySize, WebRtc_set_history_size(handle_, kHistorySize)); |
284 EXPECT_EQ(-1, WebRtc_history_size(tmp_handle)); | 284 EXPECT_EQ(-1, WebRtc_history_size(tmp_handle)); |
285 | 285 |
286 // WebRtc_set_lookahead() should return -1 if we try a value outside the | 286 // WebRtc_set_lookahead() should return -1 if we try a value outside the |
287 /// buffer. | 287 /// buffer. |
288 EXPECT_EQ(-1, WebRtc_set_lookahead(handle_, kLookahead + 1)); | 288 EXPECT_EQ(-1, WebRtc_set_lookahead(handle_, kLookahead + 1)); |
289 EXPECT_EQ(-1, WebRtc_set_lookahead(handle_, -1)); | 289 EXPECT_EQ(-1, WebRtc_set_lookahead(handle_, -1)); |
290 | 290 |
291 // WebRtc_set_allowed_offset() should return -1 if we have: | 291 // WebRtc_set_allowed_offset() should return -1 if we have: |
292 // 1) NULL pointer as |handle|. | 292 // 1) null pointer as |handle|. |
293 // 2) |allowed_offset| < 0. | 293 // 2) |allowed_offset| < 0. |
294 EXPECT_EQ(-1, WebRtc_set_allowed_offset(NULL, 0)); | 294 EXPECT_EQ(-1, WebRtc_set_allowed_offset(nullptr, 0)); |
295 EXPECT_EQ(-1, WebRtc_set_allowed_offset(handle_, -1)); | 295 EXPECT_EQ(-1, WebRtc_set_allowed_offset(handle_, -1)); |
296 | 296 |
297 EXPECT_EQ(-1, WebRtc_get_allowed_offset(NULL)); | 297 EXPECT_EQ(-1, WebRtc_get_allowed_offset(nullptr)); |
298 | 298 |
299 // WebRtc_enable_robust_validation() should return -1 if we have: | 299 // WebRtc_enable_robust_validation() should return -1 if we have: |
300 // 1) NULL pointer as |handle|. | 300 // 1) null pointer as |handle|. |
301 // 2) Incorrect |enable| value (not 0 or 1). | 301 // 2) Incorrect |enable| value (not 0 or 1). |
302 EXPECT_EQ(-1, WebRtc_enable_robust_validation(NULL, kEnable[0])); | 302 EXPECT_EQ(-1, WebRtc_enable_robust_validation(nullptr, kEnable[0])); |
303 EXPECT_EQ(-1, WebRtc_enable_robust_validation(handle_, -1)); | 303 EXPECT_EQ(-1, WebRtc_enable_robust_validation(handle_, -1)); |
304 EXPECT_EQ(-1, WebRtc_enable_robust_validation(handle_, 2)); | 304 EXPECT_EQ(-1, WebRtc_enable_robust_validation(handle_, 2)); |
305 | 305 |
306 // WebRtc_is_robust_validation_enabled() should return -1 if we have NULL | 306 // WebRtc_is_robust_validation_enabled() should return -1 if we have null |
307 // pointer as |handle|. | 307 // pointer as |handle|. |
308 EXPECT_EQ(-1, WebRtc_is_robust_validation_enabled(NULL)); | 308 EXPECT_EQ(-1, WebRtc_is_robust_validation_enabled(nullptr)); |
309 | 309 |
310 // WebRtc_DelayEstimatorProcessFloat() should return -1 if we have: | 310 // WebRtc_DelayEstimatorProcessFloat() should return -1 if we have: |
311 // 1) NULL pointer as |handle|. | 311 // 1) null pointer as |handle|. |
312 // 2) NULL pointer as near-end spectrum. | 312 // 2) null pointer as near-end spectrum. |
313 // 3) Incorrect spectrum size. | 313 // 3) Incorrect spectrum size. |
314 // 4) Non matching history sizes if multiple delay estimators using the same | 314 // 4) Non matching history sizes if multiple delay estimators using the same |
315 // far-end reference. | 315 // far-end reference. |
316 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(NULL, near_f_, | 316 EXPECT_EQ( |
317 spectrum_size_)); | 317 -1, WebRtc_DelayEstimatorProcessFloat(nullptr, near_f_, spectrum_size_)); |
318 // Use |handle_| which is properly created at SetUp(). | 318 // Use |handle_| which is properly created at SetUp(). |
319 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(handle_, NULL, | 319 EXPECT_EQ( |
320 spectrum_size_)); | 320 -1, WebRtc_DelayEstimatorProcessFloat(handle_, nullptr, spectrum_size_)); |
321 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(handle_, near_f_, | 321 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(handle_, near_f_, |
322 spectrum_size_ + 1)); | 322 spectrum_size_ + 1)); |
323 // |tmp_handle| is already in a non-matching state. | 323 // |tmp_handle| is already in a non-matching state. |
324 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(tmp_handle, | 324 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFloat(tmp_handle, |
325 near_f_, | 325 near_f_, |
326 spectrum_size_)); | 326 spectrum_size_)); |
327 | 327 |
328 // WebRtc_DelayEstimatorProcessFix() should return -1 if we have: | 328 // WebRtc_DelayEstimatorProcessFix() should return -1 if we have: |
329 // 1) NULL pointer as |handle|. | 329 // 1) null pointer as |handle|. |
330 // 2) NULL pointer as near-end spectrum. | 330 // 2) null pointer as near-end spectrum. |
331 // 3) Incorrect spectrum size. | 331 // 3) Incorrect spectrum size. |
332 // 4) Too high precision in near-end spectrum (Q-domain > 15). | 332 // 4) Too high precision in near-end spectrum (Q-domain > 15). |
333 // 5) Non matching history sizes if multiple delay estimators using the same | 333 // 5) Non matching history sizes if multiple delay estimators using the same |
334 // far-end reference. | 334 // far-end reference. |
335 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(NULL, near_u16_, spectrum_size_, | 335 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(nullptr, near_u16_, |
336 0)); | 336 spectrum_size_, 0)); |
337 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(handle_, NULL, spectrum_size_, | 337 EXPECT_EQ( |
338 0)); | 338 -1, WebRtc_DelayEstimatorProcessFix(handle_, nullptr, spectrum_size_, 0)); |
339 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(handle_, near_u16_, | 339 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(handle_, near_u16_, |
340 spectrum_size_ + 1, 0)); | 340 spectrum_size_ + 1, 0)); |
341 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(handle_, near_u16_, | 341 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(handle_, near_u16_, |
342 spectrum_size_, 16)); | 342 spectrum_size_, 16)); |
343 // |tmp_handle| is already in a non-matching state. | 343 // |tmp_handle| is already in a non-matching state. |
344 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(tmp_handle, | 344 EXPECT_EQ(-1, WebRtc_DelayEstimatorProcessFix(tmp_handle, |
345 near_u16_, | 345 near_u16_, |
346 spectrum_size_, | 346 spectrum_size_, |
347 0)); | 347 0)); |
348 WebRtc_FreeDelayEstimator(tmp_handle); | 348 WebRtc_FreeDelayEstimator(tmp_handle); |
349 | 349 |
350 // WebRtc_last_delay() should return -1 if we have a NULL pointer as |handle|. | 350 // WebRtc_last_delay() should return -1 if we have a null pointer as |handle|. |
351 EXPECT_EQ(-1, WebRtc_last_delay(NULL)); | 351 EXPECT_EQ(-1, WebRtc_last_delay(nullptr)); |
352 | 352 |
353 // Free any local memory if needed. | 353 // Free any local memory if needed. |
354 WebRtc_FreeDelayEstimator(handle); | 354 WebRtc_FreeDelayEstimator(handle); |
355 } | 355 } |
356 | 356 |
357 TEST_F(DelayEstimatorTest, VerifyAllowedOffset) { | 357 TEST_F(DelayEstimatorTest, VerifyAllowedOffset) { |
358 // Is set to zero by default. | 358 // Is set to zero by default. |
359 EXPECT_EQ(0, WebRtc_get_allowed_offset(handle_)); | 359 EXPECT_EQ(0, WebRtc_get_allowed_offset(handle_)); |
360 for (int i = 1; i >= 0; i--) { | 360 for (int i = 1; i >= 0; i--) { |
361 EXPECT_EQ(0, WebRtc_set_allowed_offset(handle_, i)); | 361 EXPECT_EQ(0, WebRtc_set_allowed_offset(handle_, i)); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 } | 468 } |
469 | 469 |
470 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfBinaryEstimatorFarend) { | 470 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfBinaryEstimatorFarend) { |
471 // In this test we verify correct output on invalid API calls to the Binary | 471 // In this test we verify correct output on invalid API calls to the Binary |
472 // Delay Estimator (far-end part). | 472 // Delay Estimator (far-end part). |
473 | 473 |
474 BinaryDelayEstimatorFarend* binary = binary_farend_; | 474 BinaryDelayEstimatorFarend* binary = binary_farend_; |
475 // WebRtc_CreateBinaryDelayEstimatorFarend() should return -1 if the input | 475 // WebRtc_CreateBinaryDelayEstimatorFarend() should return -1 if the input |
476 // history size is less than 2. This is to make sure the buffer shifting | 476 // history size is less than 2. This is to make sure the buffer shifting |
477 // applies properly. | 477 // applies properly. |
478 // Make sure we have a non-NULL value at start, so we can detect NULL after | 478 // Make sure we have a non-null value at start, so we can detect null after |
479 // create failure. | 479 // create failure. |
480 binary = WebRtc_CreateBinaryDelayEstimatorFarend(1); | 480 binary = WebRtc_CreateBinaryDelayEstimatorFarend(1); |
481 EXPECT_TRUE(binary == NULL); | 481 EXPECT_TRUE(binary == nullptr); |
482 } | 482 } |
483 | 483 |
484 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfBinaryEstimator) { | 484 TEST_F(DelayEstimatorTest, CorrectErrorReturnsOfBinaryEstimator) { |
485 // In this test we verify correct output on invalid API calls to the Binary | 485 // In this test we verify correct output on invalid API calls to the Binary |
486 // Delay Estimator. | 486 // Delay Estimator. |
487 | 487 |
488 BinaryDelayEstimator* binary_handle = binary_; | 488 BinaryDelayEstimator* binary_handle = binary_; |
489 // WebRtc_CreateBinaryDelayEstimator() should return -1 if we have a NULL | 489 // WebRtc_CreateBinaryDelayEstimator() should return -1 if we have a null |
490 // pointer as |binary_farend| or invalid input values. Upon failure, the | 490 // pointer as |binary_farend| or invalid input values. Upon failure, the |
491 // |binary_handle| should be NULL. | 491 // |binary_handle| should be null. |
492 // Make sure we have a non-NULL value at start, so we can detect NULL after | 492 // Make sure we have a non-null value at start, so we can detect null after |
493 // create failure. | 493 // create failure. |
494 binary_handle = WebRtc_CreateBinaryDelayEstimator(NULL, kLookahead); | 494 binary_handle = WebRtc_CreateBinaryDelayEstimator(nullptr, kLookahead); |
495 EXPECT_TRUE(binary_handle == NULL); | 495 EXPECT_TRUE(binary_handle == nullptr); |
496 binary_handle = WebRtc_CreateBinaryDelayEstimator(binary_farend_, -1); | 496 binary_handle = WebRtc_CreateBinaryDelayEstimator(binary_farend_, -1); |
497 EXPECT_TRUE(binary_handle == NULL); | 497 EXPECT_TRUE(binary_handle == nullptr); |
498 } | 498 } |
499 | 499 |
500 TEST_F(DelayEstimatorTest, MeanEstimatorFix) { | 500 TEST_F(DelayEstimatorTest, MeanEstimatorFix) { |
501 // In this test we verify that we update the mean value in correct direction | 501 // In this test we verify that we update the mean value in correct direction |
502 // only. With "direction" we mean increase or decrease. | 502 // only. With "direction" we mean increase or decrease. |
503 | 503 |
504 int32_t mean_value = 4000; | 504 int32_t mean_value = 4000; |
505 int32_t mean_value_before = mean_value; | 505 int32_t mean_value_before = mean_value; |
506 int32_t new_mean_value = mean_value * 2; | 506 int32_t new_mean_value = mean_value * 2; |
507 | 507 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 // estimator. | 572 // estimator. |
573 | 573 |
574 binary_->allowed_offset = 10; | 574 binary_->allowed_offset = 10; |
575 RunBinarySpectraTest(0, 0, 0, 0); | 575 RunBinarySpectraTest(0, 0, 0, 0); |
576 binary_->allowed_offset = 0; // Reset reference. | 576 binary_->allowed_offset = 0; // Reset reference. |
577 } | 577 } |
578 | 578 |
579 TEST_F(DelayEstimatorTest, VerifyLookaheadAtCreate) { | 579 TEST_F(DelayEstimatorTest, VerifyLookaheadAtCreate) { |
580 void* farend_handle = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, | 580 void* farend_handle = WebRtc_CreateDelayEstimatorFarend(kSpectrumSize, |
581 kMaxDelay); | 581 kMaxDelay); |
582 ASSERT_TRUE(farend_handle != NULL); | 582 ASSERT_TRUE(farend_handle != nullptr); |
583 void* handle = WebRtc_CreateDelayEstimator(farend_handle, kLookahead); | 583 void* handle = WebRtc_CreateDelayEstimator(farend_handle, kLookahead); |
584 ASSERT_TRUE(handle != NULL); | 584 ASSERT_TRUE(handle != nullptr); |
585 EXPECT_EQ(kLookahead, WebRtc_lookahead(handle)); | 585 EXPECT_EQ(kLookahead, WebRtc_lookahead(handle)); |
586 WebRtc_FreeDelayEstimator(handle); | 586 WebRtc_FreeDelayEstimator(handle); |
587 WebRtc_FreeDelayEstimatorFarend(farend_handle); | 587 WebRtc_FreeDelayEstimatorFarend(farend_handle); |
588 } | 588 } |
589 | 589 |
590 TEST_F(DelayEstimatorTest, VerifyLookaheadIsSetAndKeptAfterInit) { | 590 TEST_F(DelayEstimatorTest, VerifyLookaheadIsSetAndKeptAfterInit) { |
591 EXPECT_EQ(kLookahead, WebRtc_lookahead(handle_)); | 591 EXPECT_EQ(kLookahead, WebRtc_lookahead(handle_)); |
592 EXPECT_EQ(kDifferentLookahead, | 592 EXPECT_EQ(kDifferentLookahead, |
593 WebRtc_set_lookahead(handle_, kDifferentLookahead)); | 593 WebRtc_set_lookahead(handle_, kDifferentLookahead)); |
594 EXPECT_EQ(kDifferentLookahead, WebRtc_lookahead(handle_)); | 594 EXPECT_EQ(kDifferentLookahead, WebRtc_lookahead(handle_)); |
(...skipping 14 matching lines...) Expand all Loading... |
609 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); | 609 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); |
610 EXPECT_EQ(0, WebRtc_InitDelayEstimator(handle_)); | 610 EXPECT_EQ(0, WebRtc_InitDelayEstimator(handle_)); |
611 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); | 611 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); |
612 EXPECT_EQ(0, WebRtc_InitDelayEstimatorFarend(farend_handle_)); | 612 EXPECT_EQ(0, WebRtc_InitDelayEstimatorFarend(farend_handle_)); |
613 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); | 613 EXPECT_EQ(kDifferentHistorySize, WebRtc_history_size(handle_)); |
614 } | 614 } |
615 | 615 |
616 // TODO(bjornv): Add tests for SoftReset...(...). | 616 // TODO(bjornv): Add tests for SoftReset...(...). |
617 | 617 |
618 } // namespace | 618 } // namespace |
OLD | NEW |