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

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

Issue 1682403002: Enable adaptive threshold experiment by default. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Tune tests Created 4 years, 10 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 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 int packets_per_frame = 6; 188 int packets_per_frame = 6;
189 int frame_duration_ms = 33; 189 int frame_duration_ms = 33;
190 int drift_per_frame_ms = 1; 190 int drift_per_frame_ms = 1;
191 int sigma_ms = 0; // No variance. 191 int sigma_ms = 0; // No variance.
192 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 192 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
193 frame_duration_ms, sigma_ms); 193 frame_duration_ms, sigma_ms);
194 194
195 EXPECT_EQ(0, unique_overuse); 195 EXPECT_EQ(0, unique_overuse);
196 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 196 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
197 frame_duration_ms, sigma_ms, drift_per_frame_ms); 197 frame_duration_ms, sigma_ms, drift_per_frame_ms);
198 EXPECT_EQ(8, frames_until_overuse); 198 EXPECT_EQ(5, frames_until_overuse);
199 } 199 }
200 200
201 TEST_F(OveruseDetectorTest, SimpleOveruse100kbit10fps) { 201 TEST_F(OveruseDetectorTest, SimpleOveruse100kbit10fps) {
202 size_t packet_size = 1200; 202 size_t packet_size = 1200;
203 int packets_per_frame = 1; 203 int packets_per_frame = 1;
204 int frame_duration_ms = 100; 204 int frame_duration_ms = 100;
205 int drift_per_frame_ms = 1; 205 int drift_per_frame_ms = 1;
206 int sigma_ms = 0; // No variance. 206 int sigma_ms = 0; // No variance.
207 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 207 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
208 frame_duration_ms, sigma_ms); 208 frame_duration_ms, sigma_ms);
209 209
210 EXPECT_EQ(0, unique_overuse); 210 EXPECT_EQ(0, unique_overuse);
211 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 211 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
212 frame_duration_ms, sigma_ms, drift_per_frame_ms); 212 frame_duration_ms, sigma_ms, drift_per_frame_ms);
213 EXPECT_EQ(6, frames_until_overuse); 213 EXPECT_EQ(5, frames_until_overuse);
214 } 214 }
215 215
216 TEST_F(OveruseDetectorTest, DISABLED_OveruseWithHighVariance100Kbit10fps) { 216 TEST_F(OveruseDetectorTest, DISABLED_OveruseWithHighVariance100Kbit10fps) {
217 uint32_t frame_duration_ms = 100; 217 uint32_t frame_duration_ms = 100;
218 uint32_t drift_per_frame_ms = 10; 218 uint32_t drift_per_frame_ms = 10;
219 uint32_t rtp_timestamp = frame_duration_ms * 90; 219 uint32_t rtp_timestamp = frame_duration_ms * 90;
220 size_t packet_size = 1200; 220 size_t packet_size = 1200;
221 int offset = 10; 221 int offset = 10;
222 222
223 // Run 1000 samples to reach steady state. 223 // Run 1000 samples to reach steady state.
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 if (i % 2) { 295 if (i % 2) {
296 offset = random_.Rand(0, 1); 296 offset = random_.Rand(0, 1);
297 now_ms_ += frame_duration_ms - offset; 297 now_ms_ += frame_duration_ms - offset;
298 } else { 298 } else {
299 now_ms_ += frame_duration_ms + offset; 299 now_ms_ += frame_duration_ms + offset;
300 } 300 }
301 EXPECT_EQ(kBwNormal, overuse_detector_->State()); 301 EXPECT_EQ(kBwNormal, overuse_detector_->State());
302 } 302 }
303 // Simulate a higher send pace, that is too high. 303 // Simulate a higher send pace, that is too high.
304 // Total build up of 30 ms. 304 // Total build up of 30 ms.
305 for (int j = 0; j < 5; ++j) { 305 for (int j = 0; j < 3; ++j) {
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 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 309 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
310 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 310 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
311 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 311 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
312 now_ms_ += frame_duration_ms + drift_per_frame_ms * 6; 312 now_ms_ += frame_duration_ms + drift_per_frame_ms * 6;
313 rtp_timestamp += frame_duration_ms * 90; 313 rtp_timestamp += frame_duration_ms * 90;
314 EXPECT_EQ(kBwNormal, overuse_detector_->State()); 314 EXPECT_EQ(kBwNormal, overuse_detector_->State());
315 } 315 }
316 UpdateDetector(rtp_timestamp, now_ms_, packet_size); 316 UpdateDetector(rtp_timestamp, now_ms_, packet_size);
317 EXPECT_EQ(kBwOverusing, overuse_detector_->State()); 317 EXPECT_EQ(kBwOverusing, overuse_detector_->State());
318 } 318 }
319 319
320 #if defined(WEBRTC_ANDROID) 320 #if defined(WEBRTC_ANDROID)
321 #define MAYBE_LowGaussianVariance30Kbit3fps \ 321 #define MAYBE_LowGaussianVariance30Kbit3fps \
322 DISABLED_LowGaussianVariance30Kbit3fps 322 DISABLED_LowGaussianVariance30Kbit3fps
323 #else 323 #else
324 #define MAYBE_LowGaussianVariance30Kbit3fps LowGaussianVariance30Kbit3fps 324 #define MAYBE_LowGaussianVariance30Kbit3fps LowGaussianVariance30Kbit3fps
325 #endif 325 #endif
326 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance30Kbit3fps) { 326 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance30Kbit3fps) {
327 size_t packet_size = 1200; 327 size_t packet_size = 1200;
328 int packets_per_frame = 1; 328 int packets_per_frame = 1;
329 int frame_duration_ms = 333; 329 int frame_duration_ms = 333;
330 int drift_per_frame_ms = 1; 330 int drift_per_frame_ms = 1;
331 int sigma_ms = 3; 331 int sigma_ms = 3;
332 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 332 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
333 frame_duration_ms, sigma_ms); 333 frame_duration_ms, sigma_ms);
334 EXPECT_EQ(1, unique_overuse); 334 EXPECT_EQ(56, unique_overuse);
335 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 335 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
336 frame_duration_ms, sigma_ms, drift_per_frame_ms); 336 frame_duration_ms, sigma_ms, drift_per_frame_ms);
337 EXPECT_EQ(13, frames_until_overuse); 337 EXPECT_EQ(430, frames_until_overuse);
338 } 338 }
339 339
340 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift30Kbit3fps) { 340 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift30Kbit3fps) {
341 size_t packet_size = 1200; 341 size_t packet_size = 1200;
342 int packets_per_frame = 1; 342 int packets_per_frame = 1;
343 int frame_duration_ms = 333; 343 int frame_duration_ms = 333;
344 int drift_per_frame_ms = 100; 344 int drift_per_frame_ms = 100;
345 int sigma_ms = 3; 345 int sigma_ms = 3;
346 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 346 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
347 frame_duration_ms, sigma_ms); 347 frame_duration_ms, sigma_ms);
348 EXPECT_EQ(1, unique_overuse); 348 EXPECT_EQ(56, unique_overuse);
349 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 349 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
350 frame_duration_ms, sigma_ms, drift_per_frame_ms); 350 frame_duration_ms, sigma_ms, drift_per_frame_ms);
351 EXPECT_EQ(4, frames_until_overuse); 351 EXPECT_EQ(4, frames_until_overuse);
352 } 352 }
353 353
354 TEST_F(OveruseDetectorTest, HighGaussianVariance30Kbit3fps) { 354 TEST_F(OveruseDetectorTest, HighGaussianVariance30Kbit3fps) {
355 size_t packet_size = 1200; 355 size_t packet_size = 1200;
356 int packets_per_frame = 1; 356 int packets_per_frame = 1;
357 int frame_duration_ms = 333; 357 int frame_duration_ms = 333;
358 int drift_per_frame_ms = 1; 358 int drift_per_frame_ms = 1;
359 int sigma_ms = 10; 359 int sigma_ms = 10;
360 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 360 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
361 frame_duration_ms, sigma_ms); 361 frame_duration_ms, sigma_ms);
362 EXPECT_EQ(1, unique_overuse); 362 EXPECT_EQ(77, unique_overuse);
363 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 363 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
364 frame_duration_ms, sigma_ms, drift_per_frame_ms); 364 frame_duration_ms, sigma_ms, drift_per_frame_ms);
365 EXPECT_EQ(32, frames_until_overuse); 365 EXPECT_EQ(430, frames_until_overuse);
366 } 366 }
367 367
368 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift30Kbit3fps) { 368 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift30Kbit3fps) {
369 size_t packet_size = 1200; 369 size_t packet_size = 1200;
370 int packets_per_frame = 1; 370 int packets_per_frame = 1;
371 int frame_duration_ms = 333; 371 int frame_duration_ms = 333;
372 int drift_per_frame_ms = 100; 372 int drift_per_frame_ms = 100;
373 int sigma_ms = 10; 373 int sigma_ms = 10;
374 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 374 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
375 frame_duration_ms, sigma_ms); 375 frame_duration_ms, sigma_ms);
376 EXPECT_EQ(1, unique_overuse); 376 EXPECT_EQ(77, unique_overuse);
377 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 377 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
378 frame_duration_ms, sigma_ms, drift_per_frame_ms); 378 frame_duration_ms, sigma_ms, drift_per_frame_ms);
379 EXPECT_EQ(4, frames_until_overuse); 379 EXPECT_EQ(4, frames_until_overuse);
380 } 380 }
381 381
382 #if defined(WEBRTC_ANDROID) 382 #if defined(WEBRTC_ANDROID)
383 #define MAYBE_LowGaussianVariance100Kbit5fps \ 383 #define MAYBE_LowGaussianVariance100Kbit5fps \
384 DISABLED_LowGaussianVariance100Kbit5fps 384 DISABLED_LowGaussianVariance100Kbit5fps
385 #else 385 #else
386 #define MAYBE_LowGaussianVariance100Kbit5fps LowGaussianVariance100Kbit5fps 386 #define MAYBE_LowGaussianVariance100Kbit5fps LowGaussianVariance100Kbit5fps
387 #endif 387 #endif
388 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance100Kbit5fps) { 388 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance100Kbit5fps) {
389 size_t packet_size = 1200; 389 size_t packet_size = 1200;
390 int packets_per_frame = 2; 390 int packets_per_frame = 2;
391 int frame_duration_ms = 200; 391 int frame_duration_ms = 200;
392 int drift_per_frame_ms = 1; 392 int drift_per_frame_ms = 1;
393 int sigma_ms = 3; 393 int sigma_ms = 3;
394 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 394 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
395 frame_duration_ms, sigma_ms); 395 frame_duration_ms, sigma_ms);
396 EXPECT_EQ(0, unique_overuse); 396 EXPECT_EQ(45, unique_overuse);
397 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 397 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
398 frame_duration_ms, sigma_ms, drift_per_frame_ms); 398 frame_duration_ms, sigma_ms, drift_per_frame_ms);
399 EXPECT_EQ(13, frames_until_overuse); 399 EXPECT_EQ(32, frames_until_overuse);
400 } 400 }
401 401
402 #if defined(WEBRTC_ANDROID) 402 #if defined(WEBRTC_ANDROID)
403 #define MAYBE_HighGaussianVariance100Kbit5fps \ 403 #define MAYBE_HighGaussianVariance100Kbit5fps \
404 DISABLED_HighGaussianVariance100Kbit5fps 404 DISABLED_HighGaussianVariance100Kbit5fps
405 #else 405 #else
406 #define MAYBE_HighGaussianVariance100Kbit5fps HighGaussianVariance100Kbit5fps 406 #define MAYBE_HighGaussianVariance100Kbit5fps HighGaussianVariance100Kbit5fps
407 #endif 407 #endif
408 TEST_F(OveruseDetectorTest, MAYBE_HighGaussianVariance100Kbit5fps) { 408 TEST_F(OveruseDetectorTest, MAYBE_HighGaussianVariance100Kbit5fps) {
409 size_t packet_size = 1200; 409 size_t packet_size = 1200;
410 int packets_per_frame = 2; 410 int packets_per_frame = 2;
411 int frame_duration_ms = 200; 411 int frame_duration_ms = 200;
412 int drift_per_frame_ms = 1; 412 int drift_per_frame_ms = 1;
413 int sigma_ms = 10; 413 int sigma_ms = 10;
414 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 414 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
415 frame_duration_ms, sigma_ms); 415 frame_duration_ms, sigma_ms);
416 EXPECT_EQ(1, unique_overuse); 416 EXPECT_EQ(70, unique_overuse);
417 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 417 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
418 frame_duration_ms, sigma_ms, drift_per_frame_ms); 418 frame_duration_ms, sigma_ms, drift_per_frame_ms);
419 EXPECT_EQ(32, frames_until_overuse); 419 EXPECT_EQ(32, frames_until_overuse);
420 } 420 }
421 421
422 #if defined(WEBRTC_ANDROID) 422 #if defined(WEBRTC_ANDROID)
423 #define MAYBE_LowGaussianVariance100Kbit10fps \ 423 #define MAYBE_LowGaussianVariance100Kbit10fps \
424 DISABLED_LowGaussianVariance100Kbit10fps 424 DISABLED_LowGaussianVariance100Kbit10fps
425 #else 425 #else
426 #define MAYBE_LowGaussianVariance100Kbit10fps LowGaussianVariance100Kbit10fps 426 #define MAYBE_LowGaussianVariance100Kbit10fps LowGaussianVariance100Kbit10fps
427 #endif 427 #endif
428 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance100Kbit10fps) { 428 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance100Kbit10fps) {
429 size_t packet_size = 1200; 429 size_t packet_size = 1200;
430 int packets_per_frame = 1; 430 int packets_per_frame = 1;
431 int frame_duration_ms = 100; 431 int frame_duration_ms = 100;
432 int drift_per_frame_ms = 1; 432 int drift_per_frame_ms = 1;
433 int sigma_ms = 3; 433 int sigma_ms = 3;
434 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 434 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
435 frame_duration_ms, sigma_ms); 435 frame_duration_ms, sigma_ms);
436 EXPECT_EQ(1, unique_overuse); 436 EXPECT_EQ(33, unique_overuse);
437 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 437 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
438 frame_duration_ms, sigma_ms, drift_per_frame_ms); 438 frame_duration_ms, sigma_ms, drift_per_frame_ms);
439 EXPECT_EQ(13, frames_until_overuse); 439 EXPECT_EQ(13, frames_until_overuse);
440 } 440 }
441 441
442 #if defined(WEBRTC_ANDROID) 442 #if defined(WEBRTC_ANDROID)
443 #define MAYBE_HighGaussianVariance100Kbit10fps \ 443 #define MAYBE_HighGaussianVariance100Kbit10fps \
444 DISABLED_HighGaussianVariance100Kbit10fps 444 DISABLED_HighGaussianVariance100Kbit10fps
445 #else 445 #else
446 #define MAYBE_HighGaussianVariance100Kbit10fps HighGaussianVariance100Kbit10fps 446 #define MAYBE_HighGaussianVariance100Kbit10fps HighGaussianVariance100Kbit10fps
447 #endif 447 #endif
448 TEST_F(OveruseDetectorTest, MAYBE_HighGaussianVariance100Kbit10fps) { 448 TEST_F(OveruseDetectorTest, MAYBE_HighGaussianVariance100Kbit10fps) {
449 size_t packet_size = 1200; 449 size_t packet_size = 1200;
450 int packets_per_frame = 1; 450 int packets_per_frame = 1;
451 int frame_duration_ms = 100; 451 int frame_duration_ms = 100;
452 int drift_per_frame_ms = 1; 452 int drift_per_frame_ms = 1;
453 int sigma_ms = 10; 453 int sigma_ms = 10;
454 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 454 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
455 frame_duration_ms, sigma_ms); 455 frame_duration_ms, sigma_ms);
456 EXPECT_EQ(0, unique_overuse); 456 EXPECT_EQ(45, unique_overuse);
457 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 457 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
458 frame_duration_ms, sigma_ms, drift_per_frame_ms); 458 frame_duration_ms, sigma_ms, drift_per_frame_ms);
459 EXPECT_EQ(32, frames_until_overuse); 459 EXPECT_EQ(31, frames_until_overuse);
460 } 460 }
461 461
462 #if defined(WEBRTC_ANDROID) 462 #if defined(WEBRTC_ANDROID)
463 #define MAYBE_LowGaussianVariance300Kbit30fps \ 463 #define MAYBE_LowGaussianVariance300Kbit30fps \
464 DISABLED_LowGaussianVariance300Kbit30fps 464 DISABLED_LowGaussianVariance300Kbit30fps
465 #else 465 #else
466 #define MAYBE_LowGaussianVariance300Kbit30fps LowGaussianVariance300Kbit30fps 466 #define MAYBE_LowGaussianVariance300Kbit30fps LowGaussianVariance300Kbit30fps
467 #endif 467 #endif
468 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance300Kbit30fps) { 468 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance300Kbit30fps) {
469 size_t packet_size = 1200; 469 size_t packet_size = 1200;
470 int packets_per_frame = 1; 470 int packets_per_frame = 1;
471 int frame_duration_ms = 33; 471 int frame_duration_ms = 33;
472 int drift_per_frame_ms = 1; 472 int drift_per_frame_ms = 1;
473 int sigma_ms = 3; 473 int sigma_ms = 3;
474 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 474 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
475 frame_duration_ms, sigma_ms); 475 frame_duration_ms, sigma_ms);
476 EXPECT_EQ(0, unique_overuse); 476 EXPECT_EQ(25, unique_overuse);
477 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 477 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
478 frame_duration_ms, sigma_ms, drift_per_frame_ms); 478 frame_duration_ms, sigma_ms, drift_per_frame_ms);
479 EXPECT_EQ(15, frames_until_overuse); 479 EXPECT_EQ(13, frames_until_overuse);
480 } 480 }
481 481
482 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift300Kbit30fps) { 482 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift300Kbit30fps) {
483 size_t packet_size = 1200; 483 size_t packet_size = 1200;
484 int packets_per_frame = 1; 484 int packets_per_frame = 1;
485 int frame_duration_ms = 33; 485 int frame_duration_ms = 33;
486 int drift_per_frame_ms = 10; 486 int drift_per_frame_ms = 10;
487 int sigma_ms = 3; 487 int sigma_ms = 3;
488 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 488 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
489 frame_duration_ms, sigma_ms); 489 frame_duration_ms, sigma_ms);
490 EXPECT_EQ(0, unique_overuse); 490 EXPECT_EQ(25, unique_overuse);
491 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 491 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
492 frame_duration_ms, sigma_ms, drift_per_frame_ms); 492 frame_duration_ms, sigma_ms, drift_per_frame_ms);
493 EXPECT_EQ(6, frames_until_overuse); 493 EXPECT_EQ(4, frames_until_overuse);
494 } 494 }
495 495
496 TEST_F(OveruseDetectorTest, HighGaussianVariance300Kbit30fps) { 496 TEST_F(OveruseDetectorTest, HighGaussianVariance300Kbit30fps) {
497 size_t packet_size = 1200; 497 size_t packet_size = 1200;
498 int packets_per_frame = 1; 498 int packets_per_frame = 1;
499 int frame_duration_ms = 33; 499 int frame_duration_ms = 33;
500 int drift_per_frame_ms = 1; 500 int drift_per_frame_ms = 1;
501 int sigma_ms = 10; 501 int sigma_ms = 10;
502 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 502 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
503 frame_duration_ms, sigma_ms); 503 frame_duration_ms, sigma_ms);
504 EXPECT_EQ(0, unique_overuse); 504 EXPECT_EQ(46, unique_overuse);
505 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 505 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
506 frame_duration_ms, sigma_ms, drift_per_frame_ms); 506 frame_duration_ms, sigma_ms, drift_per_frame_ms);
507 EXPECT_EQ(41, frames_until_overuse); 507 EXPECT_EQ(31, frames_until_overuse);
508 } 508 }
509 509
510 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift300Kbit30fps) { 510 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift300Kbit30fps) {
511 size_t packet_size = 1200; 511 size_t packet_size = 1200;
512 int packets_per_frame = 1; 512 int packets_per_frame = 1;
513 int frame_duration_ms = 33; 513 int frame_duration_ms = 33;
514 int drift_per_frame_ms = 10; 514 int drift_per_frame_ms = 10;
515 int sigma_ms = 10; 515 int sigma_ms = 10;
516 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 516 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
517 frame_duration_ms, sigma_ms); 517 frame_duration_ms, sigma_ms);
518 EXPECT_EQ(0, unique_overuse); 518 EXPECT_EQ(46, unique_overuse);
519 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 519 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
520 frame_duration_ms, sigma_ms, drift_per_frame_ms); 520 frame_duration_ms, sigma_ms, drift_per_frame_ms);
521 EXPECT_EQ(10, frames_until_overuse); 521 EXPECT_EQ(6, frames_until_overuse);
522 } 522 }
523 523
524 #if defined(WEBRTC_ANDROID) 524 #if defined(WEBRTC_ANDROID)
525 #define MAYBE_LowGaussianVariance1000Kbit30fps \ 525 #define MAYBE_LowGaussianVariance1000Kbit30fps \
526 DISABLED_LowGaussianVariance1000Kbit30fps 526 DISABLED_LowGaussianVariance1000Kbit30fps
527 #else 527 #else
528 #define MAYBE_LowGaussianVariance1000Kbit30fps LowGaussianVariance1000Kbit30fps 528 #define MAYBE_LowGaussianVariance1000Kbit30fps LowGaussianVariance1000Kbit30fps
529 #endif 529 #endif
530 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance1000Kbit30fps) { 530 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance1000Kbit30fps) {
531 size_t packet_size = 1200; 531 size_t packet_size = 1200;
532 int packets_per_frame = 3; 532 int packets_per_frame = 3;
533 int frame_duration_ms = 33; 533 int frame_duration_ms = 33;
534 int drift_per_frame_ms = 1; 534 int drift_per_frame_ms = 1;
535 int sigma_ms = 3; 535 int sigma_ms = 3;
536 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 536 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
537 frame_duration_ms, sigma_ms); 537 frame_duration_ms, sigma_ms);
538 EXPECT_EQ(0, unique_overuse); 538 EXPECT_EQ(25, unique_overuse);
539 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 539 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
540 frame_duration_ms, sigma_ms, drift_per_frame_ms); 540 frame_duration_ms, sigma_ms, drift_per_frame_ms);
541 EXPECT_EQ(15, frames_until_overuse); 541 EXPECT_EQ(13, frames_until_overuse);
542 } 542 }
543 543
544 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift1000Kbit30fps) { 544 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift1000Kbit30fps) {
545 size_t packet_size = 1200; 545 size_t packet_size = 1200;
546 int packets_per_frame = 3; 546 int packets_per_frame = 3;
547 int frame_duration_ms = 33; 547 int frame_duration_ms = 33;
548 int drift_per_frame_ms = 10; 548 int drift_per_frame_ms = 10;
549 int sigma_ms = 3; 549 int sigma_ms = 3;
550 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 550 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
551 frame_duration_ms, sigma_ms); 551 frame_duration_ms, sigma_ms);
552 EXPECT_EQ(0, unique_overuse); 552 EXPECT_EQ(25, unique_overuse);
553 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 553 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
554 frame_duration_ms, sigma_ms, drift_per_frame_ms); 554 frame_duration_ms, sigma_ms, drift_per_frame_ms);
555 EXPECT_EQ(6, frames_until_overuse); 555 EXPECT_EQ(4, frames_until_overuse);
556 } 556 }
557 557
558 TEST_F(OveruseDetectorTest, HighGaussianVariance1000Kbit30fps) { 558 TEST_F(OveruseDetectorTest, HighGaussianVariance1000Kbit30fps) {
559 size_t packet_size = 1200; 559 size_t packet_size = 1200;
560 int packets_per_frame = 3; 560 int packets_per_frame = 3;
561 int frame_duration_ms = 33; 561 int frame_duration_ms = 33;
562 int drift_per_frame_ms = 1; 562 int drift_per_frame_ms = 1;
563 int sigma_ms = 10; 563 int sigma_ms = 10;
564 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 564 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
565 frame_duration_ms, sigma_ms); 565 frame_duration_ms, sigma_ms);
566 EXPECT_EQ(0, unique_overuse); 566 EXPECT_EQ(45, unique_overuse);
567 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 567 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
568 frame_duration_ms, sigma_ms, drift_per_frame_ms); 568 frame_duration_ms, sigma_ms, drift_per_frame_ms);
569 EXPECT_EQ(41, frames_until_overuse); 569 EXPECT_EQ(31, frames_until_overuse);
570 } 570 }
571 571
572 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift1000Kbit30fps) { 572 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift1000Kbit30fps) {
573 size_t packet_size = 1200; 573 size_t packet_size = 1200;
574 int packets_per_frame = 3; 574 int packets_per_frame = 3;
575 int frame_duration_ms = 33; 575 int frame_duration_ms = 33;
576 int drift_per_frame_ms = 10; 576 int drift_per_frame_ms = 10;
577 int sigma_ms = 10; 577 int sigma_ms = 10;
578 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 578 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
579 frame_duration_ms, sigma_ms); 579 frame_duration_ms, sigma_ms);
580 EXPECT_EQ(0, unique_overuse); 580 EXPECT_EQ(45, unique_overuse);
581 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 581 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
582 frame_duration_ms, sigma_ms, drift_per_frame_ms); 582 frame_duration_ms, sigma_ms, drift_per_frame_ms);
583 EXPECT_EQ(10, frames_until_overuse); 583 EXPECT_EQ(6, frames_until_overuse);
584 } 584 }
585 585
586 #if defined(WEBRTC_ANDROID) 586 #if defined(WEBRTC_ANDROID)
587 #define MAYBE_LowGaussianVariance2000Kbit30fps \ 587 #define MAYBE_LowGaussianVariance2000Kbit30fps \
588 DISABLED_LowGaussianVariance2000Kbit30fps 588 DISABLED_LowGaussianVariance2000Kbit30fps
589 #else 589 #else
590 #define MAYBE_LowGaussianVariance2000Kbit30fps LowGaussianVariance2000Kbit30fps 590 #define MAYBE_LowGaussianVariance2000Kbit30fps LowGaussianVariance2000Kbit30fps
591 #endif 591 #endif
592 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance2000Kbit30fps) { 592 TEST_F(OveruseDetectorTest, MAYBE_LowGaussianVariance2000Kbit30fps) {
593 size_t packet_size = 1200; 593 size_t packet_size = 1200;
594 int packets_per_frame = 6; 594 int packets_per_frame = 6;
595 int frame_duration_ms = 33; 595 int frame_duration_ms = 33;
596 int drift_per_frame_ms = 1; 596 int drift_per_frame_ms = 1;
597 int sigma_ms = 3; 597 int sigma_ms = 3;
598 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 598 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
599 frame_duration_ms, sigma_ms); 599 frame_duration_ms, sigma_ms);
600 EXPECT_EQ(0, unique_overuse); 600 EXPECT_EQ(25, unique_overuse);
601 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 601 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
602 frame_duration_ms, sigma_ms, drift_per_frame_ms); 602 frame_duration_ms, sigma_ms, drift_per_frame_ms);
603 EXPECT_EQ(15, frames_until_overuse); 603 EXPECT_EQ(13, frames_until_overuse);
604 } 604 }
605 605
606 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift2000Kbit30fps) { 606 TEST_F(OveruseDetectorTest, LowGaussianVarianceFastDrift2000Kbit30fps) {
607 size_t packet_size = 1200; 607 size_t packet_size = 1200;
608 int packets_per_frame = 6; 608 int packets_per_frame = 6;
609 int frame_duration_ms = 33; 609 int frame_duration_ms = 33;
610 int drift_per_frame_ms = 10; 610 int drift_per_frame_ms = 10;
611 int sigma_ms = 3; 611 int sigma_ms = 3;
612 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 612 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
613 frame_duration_ms, sigma_ms); 613 frame_duration_ms, sigma_ms);
614 EXPECT_EQ(0, unique_overuse); 614 EXPECT_EQ(25, unique_overuse);
615 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 615 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
616 frame_duration_ms, sigma_ms, drift_per_frame_ms); 616 frame_duration_ms, sigma_ms, drift_per_frame_ms);
617 EXPECT_EQ(6, frames_until_overuse); 617 EXPECT_EQ(4, frames_until_overuse);
618 } 618 }
619 619
620 TEST_F(OveruseDetectorTest, HighGaussianVariance2000Kbit30fps) { 620 TEST_F(OveruseDetectorTest, HighGaussianVariance2000Kbit30fps) {
621 size_t packet_size = 1200; 621 size_t packet_size = 1200;
622 int packets_per_frame = 6; 622 int packets_per_frame = 6;
623 int frame_duration_ms = 33; 623 int frame_duration_ms = 33;
624 int drift_per_frame_ms = 1; 624 int drift_per_frame_ms = 1;
625 int sigma_ms = 10; 625 int sigma_ms = 10;
626 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 626 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
627 frame_duration_ms, sigma_ms); 627 frame_duration_ms, sigma_ms);
628 EXPECT_EQ(0, unique_overuse); 628 EXPECT_EQ(45, unique_overuse);
629 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 629 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
630 frame_duration_ms, sigma_ms, drift_per_frame_ms); 630 frame_duration_ms, sigma_ms, drift_per_frame_ms);
631 EXPECT_EQ(41, frames_until_overuse); 631 EXPECT_EQ(31, frames_until_overuse);
632 } 632 }
633 633
634 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift2000Kbit30fps) { 634 TEST_F(OveruseDetectorTest, HighGaussianVarianceFastDrift2000Kbit30fps) {
635 size_t packet_size = 1200; 635 size_t packet_size = 1200;
636 int packets_per_frame = 6; 636 int packets_per_frame = 6;
637 int frame_duration_ms = 33; 637 int frame_duration_ms = 33;
638 int drift_per_frame_ms = 10; 638 int drift_per_frame_ms = 10;
639 int sigma_ms = 10; 639 int sigma_ms = 10;
640 int unique_overuse = Run100000Samples(packets_per_frame, packet_size, 640 int unique_overuse = Run100000Samples(packets_per_frame, packet_size,
641 frame_duration_ms, sigma_ms); 641 frame_duration_ms, sigma_ms);
642 EXPECT_EQ(0, unique_overuse); 642 EXPECT_EQ(45, unique_overuse);
643 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size, 643 int frames_until_overuse = RunUntilOveruse(packets_per_frame, packet_size,
644 frame_duration_ms, sigma_ms, drift_per_frame_ms); 644 frame_duration_ms, sigma_ms, drift_per_frame_ms);
645 EXPECT_EQ(10, frames_until_overuse); 645 EXPECT_EQ(6, frames_until_overuse);
646 } 646 }
647 647
648 class OveruseDetectorExperimentTest : public OveruseDetectorTest { 648 class OveruseDetectorExperimentTest : public OveruseDetectorTest {
649 public: 649 public:
650 OveruseDetectorExperimentTest() 650 OveruseDetectorExperimentTest()
651 : override_field_trials_( 651 : override_field_trials_(
652 "WebRTC-AdaptiveBweThreshold/Enabled-0.01,0.00018/") {} 652 "WebRTC-AdaptiveBweThreshold/Enabled-0.01,0.00018/") {}
653 653
654 protected: 654 protected:
655 void SetUp() override { 655 void SetUp() override {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 if (overuse_state == kBwOverusing) { 774 if (overuse_state == kBwOverusing) {
775 overuse_detected = true; 775 overuse_detected = true;
776 } 776 }
777 ++num_deltas; 777 ++num_deltas;
778 now_ms += 5; 778 now_ms += 5;
779 } 779 }
780 EXPECT_TRUE(overuse_detected); 780 EXPECT_TRUE(overuse_detected);
781 } 781 }
782 } // namespace testing 782 } // namespace testing
783 } // namespace webrtc 783 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698