Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc

Issue 1231033002: Revert the process noise co-variance of the bitrate over-use estimator to its value prior to r9545. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Comment addressed. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 int packets_per_frame = 6; 185 int packets_per_frame = 6;
186 int frame_duration_ms = 33; 186 int frame_duration_ms = 33;
187 int drift_per_frame_ms = 1; 187 int drift_per_frame_ms = 1;
188 int sigma_ms = 0; // No variance. 188 int sigma_ms = 0; // No variance.
189 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 189 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
190 frame_duration_ms, sigma_ms); 190 frame_duration_ms, sigma_ms);
191 191
192 EXPECT_EQ(0, unique_overuse); 192 EXPECT_EQ(0, unique_overuse);
193 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 193 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
194 frame_duration_ms, sigma_ms, drift_per_frame_ms); 194 frame_duration_ms, sigma_ms, drift_per_frame_ms);
195 EXPECT_EQ(13, frames_until_overuse); 195 EXPECT_EQ(8, frames_until_overuse);
196 } 196 }
197 197
198 TEST_F(OveruseDetectorTest, SimpleOveruse100kbit10fps) { 198 TEST_F(OveruseDetectorTest, SimpleOveruse100kbit10fps) {
199 size_t packet_size = 1200; 199 size_t packet_size = 1200;
200 int packets_per_frame = 1; 200 int packets_per_frame = 1;
201 int frame_duration_ms = 100; 201 int frame_duration_ms = 100;
202 int drift_per_frame_ms = 1; 202 int drift_per_frame_ms = 1;
203 int sigma_ms = 0; // No variance. 203 int sigma_ms = 0; // No variance.
204 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 204 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
205 frame_duration_ms, sigma_ms); 205 frame_duration_ms, sigma_ms);
206 206
207 EXPECT_EQ(0, unique_overuse); 207 EXPECT_EQ(0, unique_overuse);
208 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 208 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
209 frame_duration_ms, sigma_ms, drift_per_frame_ms); 209 frame_duration_ms, sigma_ms, drift_per_frame_ms);
210 EXPECT_EQ(11, frames_until_overuse); 210 EXPECT_EQ(6, frames_until_overuse);
211 } 211 }
212 212
213 TEST_F(OveruseDetectorTest, DISABLED_OveruseWithHighVariance100Kbit10fps) { 213 TEST_F(OveruseDetectorTest, DISABLED_OveruseWithHighVariance100Kbit10fps) {
214 uint32_t frame_duration_ms = 100; 214 uint32_t frame_duration_ms = 100;
215 uint32_t drift_per_frame_ms = 10; 215 uint32_t drift_per_frame_ms = 10;
216 uint32_t rtp_timestamp = frame_duration_ms * 90; 216 uint32_t rtp_timestamp = frame_duration_ms * 90;
217 size_t packet_size = 1200; 217 size_t packet_size = 1200;
218 int offset = 10; 218 int offset = 10;
219 219
220 // Run 1000 samples to reach steady state. 220 // Run 1000 samples to reach steady state.
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 if (i % 2) { 292 if (i % 2) {
293 offset = rand() % 2; 293 offset = rand() % 2;
294 now_ms_ += frame_duration_ms - offset; 294 now_ms_ += frame_duration_ms - offset;
295 } else { 295 } else {
296 now_ms_ += frame_duration_ms + offset; 296 now_ms_ += frame_duration_ms + offset;
297 } 297 }
298 EXPECT_EQ(kBwNormal, overuse_detector_->State()); 298 EXPECT_EQ(kBwNormal, overuse_detector_->State());
299 } 299 }
300 // Simulate a higher send pace, that is too high. 300 // Simulate a higher send pace, that is too high.
301 // Total build up of 30 ms. 301 // Total build up of 30 ms.
302 for (int j = 0; j < 6; ++j) { 302 for (int j = 0; j < 5; ++j) {
303 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 303 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
304 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 304 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
305 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 305 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
306 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 306 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
307 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 307 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
308 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 308 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
309 now_ms_ += frame_duration_ms + drift_per_frame_ms * 6; 309 now_ms_ += frame_duration_ms + drift_per_frame_ms * 6;
310 rtp_timestamp += frame_duration_ms * 90; 310 rtp_timestamp += frame_duration_ms * 90;
311 EXPECT_EQ(kBwNormal, overuse_detector_->State()); 311 EXPECT_EQ(kBwNormal, overuse_detector_->State());
312 } 312 }
313 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 313 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
314 EXPECT_EQ(kBwOverusing, overuse_detector_->State()); 314 EXPECT_EQ(kBwOverusing, overuse_detector_->State());
315 } 315 }
316 316
317 TEST_F(OveruseDetectorTest, 317 TEST_F(OveruseDetectorTest,
318 DISABLED_ON_ANDROID(LowGaussianVariance30Kbit3fps)) { 318 DISABLED_ON_ANDROID(LowGaussianVariance30Kbit3fps)) {
319 size_t packet_size = 1200; 319 size_t packet_size = 1200;
320 int packets_per_frame = 1; 320 int packets_per_frame = 1;
321 int frame_duration_ms = 333; 321 int frame_duration_ms = 333;
322 int drift_per_frame_ms = 1; 322 int drift_per_frame_ms = 1;
323 int sigma_ms = 3; 323 int sigma_ms = 3;
324 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 324 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
325 frame_duration_ms, sigma_ms); 325 frame_duration_ms, sigma_ms);
326 EXPECT_EQ(0, unique_overuse); 326 EXPECT_EQ(13, unique_overuse);
327 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 327 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
328 frame_duration_ms, sigma_ms, drift_per_frame_ms); 328 frame_duration_ms, sigma_ms, drift_per_frame_ms);
329 EXPECT_EQ(36, frames_until_overuse); 329 EXPECT_EQ(14, frames_until_overuse);
330 } 330 }
331 331
332 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift30Kbit3fps) { 332 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift30Kbit3fps) {
333 size_t packet_size = 1200; 333 size_t packet_size = 1200;
334 int packets_per_frame = 1; 334 int packets_per_frame = 1;
335 int frame_duration_ms = 333; 335 int frame_duration_ms = 333;
336 int drift_per_frame_ms = 100; 336 int drift_per_frame_ms = 100;
337 int sigma_ms = 3; 337 int sigma_ms = 3;
338 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 338 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
339 frame_duration_ms, sigma_ms); 339 frame_duration_ms, sigma_ms);
340 EXPECT_EQ(0, unique_overuse); 340 EXPECT_EQ(13, unique_overuse);
341 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 341 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
342 frame_duration_ms, sigma_ms, drift_per_frame_ms); 342 frame_duration_ms, sigma_ms, drift_per_frame_ms);
343 EXPECT_EQ(4, frames_until_overuse); 343 EXPECT_EQ(4, frames_until_overuse);
344 } 344 }
345 345
346 TEST_F(OveruseDetectorTest, HighGaussianVariance30Kbit3fps) { 346 TEST_F(OveruseDetectorTest, HighGaussianVariance30Kbit3fps) {
347 size_t packet_size = 1200; 347 size_t packet_size = 1200;
348 int packets_per_frame = 1; 348 int packets_per_frame = 1;
349 int frame_duration_ms = 333; 349 int frame_duration_ms = 333;
350 int drift_per_frame_ms = 1; 350 int drift_per_frame_ms = 1;
351 int sigma_ms = 10; 351 int sigma_ms = 10;
352 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 352 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
353 frame_duration_ms, sigma_ms); 353 frame_duration_ms, sigma_ms);
354 EXPECT_EQ(0, unique_overuse); 354 EXPECT_EQ(46, unique_overuse);
355 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 355 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
356 frame_duration_ms, sigma_ms, drift_per_frame_ms); 356 frame_duration_ms, sigma_ms, drift_per_frame_ms);
357 EXPECT_EQ(119, frames_until_overuse); 357 EXPECT_EQ(42, frames_until_overuse);
358 } 358 }
359 359
360 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift30Kbit3fps) { 360 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift30Kbit3fps) {
361 size_t packet_size = 1200; 361 size_t packet_size = 1200;
362 int packets_per_frame = 1; 362 int packets_per_frame = 1;
363 int frame_duration_ms = 333; 363 int frame_duration_ms = 333;
364 int drift_per_frame_ms = 100; 364 int drift_per_frame_ms = 100;
365 int sigma_ms = 10; 365 int sigma_ms = 10;
366 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 366 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
367 frame_duration_ms, sigma_ms); 367 frame_duration_ms, sigma_ms);
368 EXPECT_EQ(0, unique_overuse); 368 EXPECT_EQ(46, unique_overuse);
369 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 369 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
370 frame_duration_ms, sigma_ms, drift_per_frame_ms); 370 frame_duration_ms, sigma_ms, drift_per_frame_ms);
371 EXPECT_EQ(5, frames_until_overuse); 371 EXPECT_EQ(4, frames_until_overuse);
372 } 372 }
373 373
374 TEST_F(OveruseDetectorTest, 374 TEST_F(OveruseDetectorTest,
375 DISABLED_ON_ANDROID(LowGaussianVariance100Kbit5fps)) { 375 DISABLED_ON_ANDROID(LowGaussianVariance100Kbit5fps)) {
376 size_t packet_size = 1200; 376 size_t packet_size = 1200;
377 int packets_per_frame = 2; 377 int packets_per_frame = 2;
378 int frame_duration_ms = 200; 378 int frame_duration_ms = 200;
379 int drift_per_frame_ms = 1; 379 int drift_per_frame_ms = 1;
380 int sigma_ms = 3; 380 int sigma_ms = 3;
381 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 381 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
382 frame_duration_ms, sigma_ms); 382 frame_duration_ms, sigma_ms);
383 EXPECT_EQ(0, unique_overuse); 383 EXPECT_EQ(12, unique_overuse);
384 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 384 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
385 frame_duration_ms, sigma_ms, drift_per_frame_ms); 385 frame_duration_ms, sigma_ms, drift_per_frame_ms);
386 EXPECT_EQ(35, frames_until_overuse); 386 EXPECT_EQ(12, frames_until_overuse);
387 } 387 }
388 388
389 TEST_F(OveruseDetectorTest, 389 TEST_F(OveruseDetectorTest,
390 DISABLED_ON_ANDROID(HighGaussianVariance100Kbit5fps)) { 390 DISABLED_ON_ANDROID(HighGaussianVariance100Kbit5fps)) {
391 size_t packet_size = 1200; 391 size_t packet_size = 1200;
392 int packets_per_frame = 2; 392 int packets_per_frame = 2;
393 int frame_duration_ms = 200; 393 int frame_duration_ms = 200;
394 int drift_per_frame_ms = 1; 394 int drift_per_frame_ms = 1;
395 int sigma_ms = 10; 395 int sigma_ms = 10;
396 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 396 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
397 frame_duration_ms, sigma_ms); 397 frame_duration_ms, sigma_ms);
398 EXPECT_EQ(0, unique_overuse); 398 EXPECT_EQ(16, unique_overuse);
399 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 399 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
400 frame_duration_ms, sigma_ms, drift_per_frame_ms); 400 frame_duration_ms, sigma_ms, drift_per_frame_ms);
401 EXPECT_EQ(115, frames_until_overuse); 401 EXPECT_EQ(37, frames_until_overuse);
402 } 402 }
403 403
404 TEST_F(OveruseDetectorTest, 404 TEST_F(OveruseDetectorTest,
405 DISABLED_ON_ANDROID(LowGaussianVariance100Kbit10fps)) { 405 DISABLED_ON_ANDROID(LowGaussianVariance100Kbit10fps)) {
406 size_t packet_size = 1200; 406 size_t packet_size = 1200;
407 int packets_per_frame = 1; 407 int packets_per_frame = 1;
408 int frame_duration_ms = 100; 408 int frame_duration_ms = 100;
409 int drift_per_frame_ms = 1; 409 int drift_per_frame_ms = 1;
410 int sigma_ms = 3; 410 int sigma_ms = 3;
411 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 411 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
412 frame_duration_ms, sigma_ms); 412 frame_duration_ms, sigma_ms);
413 EXPECT_EQ(0, unique_overuse); 413 EXPECT_EQ(12, unique_overuse);
414 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 414 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
415 frame_duration_ms, sigma_ms, drift_per_frame_ms); 415 frame_duration_ms, sigma_ms, drift_per_frame_ms);
416 EXPECT_EQ(30, frames_until_overuse); 416 EXPECT_EQ(12, frames_until_overuse);
417 } 417 }
418 418
419 TEST_F(OveruseDetectorTest, 419 TEST_F(OveruseDetectorTest,
420 DISABLED_ON_ANDROID(HighGaussianVariance100Kbit10fps)) { 420 DISABLED_ON_ANDROID(HighGaussianVariance100Kbit10fps)) {
421 size_t packet_size = 1200; 421 size_t packet_size = 1200;
422 int packets_per_frame = 1; 422 int packets_per_frame = 1;
423 int frame_duration_ms = 100; 423 int frame_duration_ms = 100;
424 int drift_per_frame_ms = 1; 424 int drift_per_frame_ms = 1;
425 int sigma_ms = 10; 425 int sigma_ms = 10;
426 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 426 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
427 frame_duration_ms, sigma_ms); 427 frame_duration_ms, sigma_ms);
428 EXPECT_EQ(0, unique_overuse); 428 EXPECT_EQ(12, unique_overuse);
429 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 429 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
430 frame_duration_ms, sigma_ms, drift_per_frame_ms); 430 frame_duration_ms, sigma_ms, drift_per_frame_ms);
431 EXPECT_EQ(98, frames_until_overuse); 431 EXPECT_EQ(37, frames_until_overuse);
432 } 432 }
433 433
434 TEST_F(OveruseDetectorTest, 434 TEST_F(OveruseDetectorTest,
435 DISABLED_ON_ANDROID(LowGaussianVariance300Kbit30fps)) { 435 DISABLED_ON_ANDROID(LowGaussianVariance300Kbit30fps)) {
436 size_t packet_size = 1200; 436 size_t packet_size = 1200;
437 int packets_per_frame = 1; 437 int packets_per_frame = 1;
438 int frame_duration_ms = 33; 438 int frame_duration_ms = 33;
439 int drift_per_frame_ms = 1; 439 int drift_per_frame_ms = 1;
440 int sigma_ms = 3; 440 int sigma_ms = 3;
441 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 441 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
442 frame_duration_ms, sigma_ms); 442 frame_duration_ms, sigma_ms);
443 EXPECT_EQ(0, unique_overuse); 443 EXPECT_EQ(0, unique_overuse);
444 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 444 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
445 frame_duration_ms, sigma_ms, drift_per_frame_ms); 445 frame_duration_ms, sigma_ms, drift_per_frame_ms);
446 EXPECT_EQ(36, frames_until_overuse); 446 EXPECT_EQ(14, frames_until_overuse);
447 } 447 }
448 448
449 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift300Kbit30fps) { 449 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift300Kbit30fps) {
450 size_t packet_size = 1200; 450 size_t packet_size = 1200;
451 int packets_per_frame = 1; 451 int packets_per_frame = 1;
452 int frame_duration_ms = 33; 452 int frame_duration_ms = 33;
453 int drift_per_frame_ms = 10; 453 int drift_per_frame_ms = 10;
454 int sigma_ms = 3; 454 int sigma_ms = 3;
455 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 455 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
456 frame_duration_ms, sigma_ms); 456 frame_duration_ms, sigma_ms);
457 EXPECT_EQ(0, unique_overuse); 457 EXPECT_EQ(0, unique_overuse);
458 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 458 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
459 frame_duration_ms, sigma_ms, drift_per_frame_ms); 459 frame_duration_ms, sigma_ms, drift_per_frame_ms);
460 EXPECT_EQ(8, frames_until_overuse); 460 EXPECT_EQ(6, frames_until_overuse);
461 } 461 }
462 462
463 TEST_F(OveruseDetectorTest, HighGaussianVariance300Kbit30fps) { 463 TEST_F(OveruseDetectorTest, HighGaussianVariance300Kbit30fps) {
464 size_t packet_size = 1200; 464 size_t packet_size = 1200;
465 int packets_per_frame = 1; 465 int packets_per_frame = 1;
466 int frame_duration_ms = 33; 466 int frame_duration_ms = 33;
467 int drift_per_frame_ms = 1; 467 int drift_per_frame_ms = 1;
468 int sigma_ms = 10; 468 int sigma_ms = 10;
469 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 469 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
470 frame_duration_ms, sigma_ms); 470 frame_duration_ms, sigma_ms);
471 EXPECT_EQ(0, unique_overuse); 471 EXPECT_EQ(0, unique_overuse);
472 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 472 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
473 frame_duration_ms, sigma_ms, drift_per_frame_ms); 473 frame_duration_ms, sigma_ms, drift_per_frame_ms);
474 EXPECT_EQ(108, frames_until_overuse); 474 EXPECT_EQ(49, frames_until_overuse);
475 } 475 }
476 476
477 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift300Kbit30fps) { 477 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift300Kbit30fps) {
478 size_t packet_size = 1200; 478 size_t packet_size = 1200;
479 int packets_per_frame = 1; 479 int packets_per_frame = 1;
480 int frame_duration_ms = 33; 480 int frame_duration_ms = 33;
481 int drift_per_frame_ms = 10; 481 int drift_per_frame_ms = 10;
482 int sigma_ms = 10; 482 int sigma_ms = 10;
483 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 483 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
484 frame_duration_ms, sigma_ms); 484 frame_duration_ms, sigma_ms);
485 EXPECT_EQ(0, unique_overuse); 485 EXPECT_EQ(0, unique_overuse);
486 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 486 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
487 frame_duration_ms, sigma_ms, drift_per_frame_ms); 487 frame_duration_ms, sigma_ms, drift_per_frame_ms);
488 EXPECT_EQ(14, frames_until_overuse); 488 EXPECT_EQ(8, frames_until_overuse);
489 } 489 }
490 490
491 TEST_F(OveruseDetectorTest, 491 TEST_F(OveruseDetectorTest,
492 DISABLED_ON_ANDROID(LowGaussianVariance1000Kbit30fps)) { 492 DISABLED_ON_ANDROID(LowGaussianVariance1000Kbit30fps)) {
493 size_t packet_size = 1200; 493 size_t packet_size = 1200;
494 int packets_per_frame = 3; 494 int packets_per_frame = 3;
495 int frame_duration_ms = 33; 495 int frame_duration_ms = 33;
496 int drift_per_frame_ms = 1; 496 int drift_per_frame_ms = 1;
497 int sigma_ms = 3; 497 int sigma_ms = 3;
498 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 498 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
499 frame_duration_ms, sigma_ms); 499 frame_duration_ms, sigma_ms);
500 EXPECT_EQ(0, unique_overuse); 500 EXPECT_EQ(0, unique_overuse);
501 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 501 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
502 frame_duration_ms, sigma_ms, drift_per_frame_ms); 502 frame_duration_ms, sigma_ms, drift_per_frame_ms);
503 EXPECT_EQ(36, frames_until_overuse); 503 EXPECT_EQ(14, frames_until_overuse);
504 } 504 }
505 505
506 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift1000Kbit30fps) { 506 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift1000Kbit30fps) {
507 size_t packet_size = 1200; 507 size_t packet_size = 1200;
508 int packets_per_frame = 3; 508 int packets_per_frame = 3;
509 int frame_duration_ms = 33; 509 int frame_duration_ms = 33;
510 int drift_per_frame_ms = 10; 510 int drift_per_frame_ms = 10;
511 int sigma_ms = 3; 511 int sigma_ms = 3;
512 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 512 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
513 frame_duration_ms, sigma_ms); 513 frame_duration_ms, sigma_ms);
514 EXPECT_EQ(0, unique_overuse); 514 EXPECT_EQ(0, unique_overuse);
515 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 515 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
516 frame_duration_ms, sigma_ms, drift_per_frame_ms); 516 frame_duration_ms, sigma_ms, drift_per_frame_ms);
517 EXPECT_EQ(8, frames_until_overuse); 517 EXPECT_EQ(6, frames_until_overuse);
518 } 518 }
519 519
520 TEST_F(OveruseDetectorTest, HighGaussianVariance1000Kbit30fps) { 520 TEST_F(OveruseDetectorTest, HighGaussianVariance1000Kbit30fps) {
521 size_t packet_size = 1200; 521 size_t packet_size = 1200;
522 int packets_per_frame = 3; 522 int packets_per_frame = 3;
523 int frame_duration_ms = 33; 523 int frame_duration_ms = 33;
524 int drift_per_frame_ms = 1; 524 int drift_per_frame_ms = 1;
525 int sigma_ms = 10; 525 int sigma_ms = 10;
526 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 526 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
527 frame_duration_ms, sigma_ms); 527 frame_duration_ms, sigma_ms);
528 EXPECT_EQ(0, unique_overuse); 528 EXPECT_EQ(0, unique_overuse);
529 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 529 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
530 frame_duration_ms, sigma_ms, drift_per_frame_ms); 530 frame_duration_ms, sigma_ms, drift_per_frame_ms);
531 EXPECT_EQ(108, frames_until_overuse); 531 EXPECT_EQ(49, frames_until_overuse);
532 } 532 }
533 533
534 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift1000Kbit30fps) { 534 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift1000Kbit30fps) {
535 size_t packet_size = 1200; 535 size_t packet_size = 1200;
536 int packets_per_frame = 3; 536 int packets_per_frame = 3;
537 int frame_duration_ms = 33; 537 int frame_duration_ms = 33;
538 int drift_per_frame_ms = 10; 538 int drift_per_frame_ms = 10;
539 int sigma_ms = 10; 539 int sigma_ms = 10;
540 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 540 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
541 frame_duration_ms, sigma_ms); 541 frame_duration_ms, sigma_ms);
542 EXPECT_EQ(0, unique_overuse); 542 EXPECT_EQ(0, unique_overuse);
543 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 543 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
544 frame_duration_ms, sigma_ms, drift_per_frame_ms); 544 frame_duration_ms, sigma_ms, drift_per_frame_ms);
545 EXPECT_EQ(14, frames_until_overuse); 545 EXPECT_EQ(8, frames_until_overuse);
546 } 546 }
547 547
548 TEST_F(OveruseDetectorTest, 548 TEST_F(OveruseDetectorTest,
549 DISABLED_ON_ANDROID(LowGaussianVariance2000Kbit30fps)) { 549 DISABLED_ON_ANDROID(LowGaussianVariance2000Kbit30fps)) {
550 size_t packet_size = 1200; 550 size_t packet_size = 1200;
551 int packets_per_frame = 6; 551 int packets_per_frame = 6;
552 int frame_duration_ms = 33; 552 int frame_duration_ms = 33;
553 int drift_per_frame_ms = 1; 553 int drift_per_frame_ms = 1;
554 int sigma_ms = 3; 554 int sigma_ms = 3;
555 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 555 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
556 frame_duration_ms, sigma_ms); 556 frame_duration_ms, sigma_ms);
557 EXPECT_EQ(0, unique_overuse); 557 EXPECT_EQ(0, unique_overuse);
558 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 558 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
559 frame_duration_ms, sigma_ms, drift_per_frame_ms); 559 frame_duration_ms, sigma_ms, drift_per_frame_ms);
560 EXPECT_EQ(36, frames_until_overuse); 560 EXPECT_EQ(14, frames_until_overuse);
561 } 561 }
562 562
563 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift2000Kbit30fps) { 563 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift2000Kbit30fps) {
564 size_t packet_size = 1200; 564 size_t packet_size = 1200;
565 int packets_per_frame = 6; 565 int packets_per_frame = 6;
566 int frame_duration_ms = 33; 566 int frame_duration_ms = 33;
567 int drift_per_frame_ms = 10; 567 int drift_per_frame_ms = 10;
568 int sigma_ms = 3; 568 int sigma_ms = 3;
569 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 569 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
570 frame_duration_ms, sigma_ms); 570 frame_duration_ms, sigma_ms);
571 EXPECT_EQ(0, unique_overuse); 571 EXPECT_EQ(0, unique_overuse);
572 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 572 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
573 frame_duration_ms, sigma_ms, drift_per_frame_ms); 573 frame_duration_ms, sigma_ms, drift_per_frame_ms);
574 EXPECT_EQ(8, frames_until_overuse); 574 EXPECT_EQ(6, frames_until_overuse);
575 } 575 }
576 576
577 TEST_F(OveruseDetectorTest, HighGaussianVariance2000Kbit30fps) { 577 TEST_F(OveruseDetectorTest, HighGaussianVariance2000Kbit30fps) {
578 size_t packet_size = 1200; 578 size_t packet_size = 1200;
579 int packets_per_frame = 6; 579 int packets_per_frame = 6;
580 int frame_duration_ms = 33; 580 int frame_duration_ms = 33;
581 int drift_per_frame_ms = 1; 581 int drift_per_frame_ms = 1;
582 int sigma_ms = 10; 582 int sigma_ms = 10;
583 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 583 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
584 frame_duration_ms, sigma_ms); 584 frame_duration_ms, sigma_ms);
585 EXPECT_EQ(0, unique_overuse); 585 EXPECT_EQ(0, unique_overuse);
586 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 586 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
587 frame_duration_ms, sigma_ms, drift_per_frame_ms); 587 frame_duration_ms, sigma_ms, drift_per_frame_ms);
588 EXPECT_EQ(108, frames_until_overuse); 588 EXPECT_EQ(49, frames_until_overuse);
589 } 589 }
590 590
591 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift2000Kbit30fps) { 591 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift2000Kbit30fps) {
592 size_t packet_size = 1200; 592 size_t packet_size = 1200;
593 int packets_per_frame = 6; 593 int packets_per_frame = 6;
594 int frame_duration_ms = 33; 594 int frame_duration_ms = 33;
595 int drift_per_frame_ms = 10; 595 int drift_per_frame_ms = 10;
596 int sigma_ms = 10; 596 int sigma_ms = 10;
597 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 597 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
598 frame_duration_ms, sigma_ms); 598 frame_duration_ms, sigma_ms);
599 EXPECT_EQ(0, unique_overuse); 599 EXPECT_EQ(0, unique_overuse);
600 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 600 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
601 frame_duration_ms, sigma_ms, drift_per_frame_ms); 601 frame_duration_ms, sigma_ms, drift_per_frame_ms);
602 EXPECT_EQ(14, frames_until_overuse); 602 EXPECT_EQ(8, frames_until_overuse);
603 } 603 }
604 604
605 class OveruseDetectorExperimentTest : public OveruseDetectorTest { 605 class OveruseDetectorExperimentTest : public OveruseDetectorTest {
606 public: 606 public:
607 OveruseDetectorExperimentTest() 607 OveruseDetectorExperimentTest()
608 : override_field_trials_( 608 : override_field_trials_(
609 "WebRTC-AdaptiveBweThreshold/Enabled-0.01,0.00018/") {} 609 "WebRTC-AdaptiveBweThreshold/Enabled-0.01,0.00018/") {}
610 610
611 protected: 611 protected:
612 void SetUp() override { 612 void SetUp() override {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 if (overuse_state == kBwOverusing) { 731 if (overuse_state == kBwOverusing) {
732 overuse_detected = true; 732 overuse_detected = true;
733 } 733 }
734 ++num_deltas; 734 ++num_deltas;
735 now_ms += 5; 735 now_ms += 5;
736 } 736 }
737 EXPECT_TRUE(overuse_detected); 737 EXPECT_TRUE(overuse_detected);
738 } 738 }
739 } // namespace testing 739 } // namespace testing
740 } // namespace webrtc 740 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/common_types.h ('k') | webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698