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

Side by Side Diff: webrtc/video/send_statistics_proxy_unittest.cc

Issue 2995433002: Rename ViEEncoder to VideoStreamEncoder. (Closed)
Patch Set: Created 3 years, 4 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
« no previous file with comments | « webrtc/video/send_statistics_proxy.cc ('k') | webrtc/video/video_send_stream.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 TEST_F(SendStatisticsProxyTest, OnSendEncodedImageWithoutQpQpSumWontExist) { 361 TEST_F(SendStatisticsProxyTest, OnSendEncodedImageWithoutQpQpSumWontExist) {
362 EncodedImage encoded_image; 362 EncodedImage encoded_image;
363 CodecSpecificInfo codec_info; 363 CodecSpecificInfo codec_info;
364 encoded_image.qp_ = -1; 364 encoded_image.qp_ = -1;
365 EXPECT_EQ(rtc::Optional<uint64_t>(), statistics_proxy_->GetStats().qp_sum); 365 EXPECT_EQ(rtc::Optional<uint64_t>(), statistics_proxy_->GetStats().qp_sum);
366 statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info); 366 statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info);
367 EXPECT_EQ(rtc::Optional<uint64_t>(), statistics_proxy_->GetStats().qp_sum); 367 EXPECT_EQ(rtc::Optional<uint64_t>(), statistics_proxy_->GetStats().qp_sum);
368 } 368 }
369 369
370 TEST_F(SendStatisticsProxyTest, GetCpuAdaptationStats) { 370 TEST_F(SendStatisticsProxyTest, GetCpuAdaptationStats) {
371 ViEEncoder::AdaptCounts cpu_counts; 371 VideoStreamEncoder::AdaptCounts cpu_counts;
372 ViEEncoder::AdaptCounts quality_counts; 372 VideoStreamEncoder::AdaptCounts quality_counts;
373 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate); 373 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate);
374 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution); 374 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
375 cpu_counts.fps = 1; 375 cpu_counts.fps = 1;
376 cpu_counts.resolution = 0; 376 cpu_counts.resolution = 0;
377 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 377 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
378 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_framerate); 378 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_framerate);
379 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution); 379 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
380 cpu_counts.fps = 0; 380 cpu_counts.fps = 0;
381 cpu_counts.resolution = 1; 381 cpu_counts.resolution = 1;
382 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 382 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
383 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate); 383 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate);
384 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution); 384 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution);
385 cpu_counts.fps = 1; 385 cpu_counts.fps = 1;
386 cpu_counts.resolution = -1; 386 cpu_counts.resolution = -1;
387 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 387 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
388 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_framerate); 388 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_framerate);
389 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution); 389 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
390 cpu_counts.fps = -1; 390 cpu_counts.fps = -1;
391 cpu_counts.resolution = -1; 391 cpu_counts.resolution = -1;
392 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 392 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
393 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate); 393 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate);
394 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution); 394 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
395 } 395 }
396 396
397 TEST_F(SendStatisticsProxyTest, GetQualityAdaptationStats) { 397 TEST_F(SendStatisticsProxyTest, GetQualityAdaptationStats) {
398 ViEEncoder::AdaptCounts cpu_counts; 398 VideoStreamEncoder::AdaptCounts cpu_counts;
399 ViEEncoder::AdaptCounts quality_counts; 399 VideoStreamEncoder::AdaptCounts quality_counts;
400 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate); 400 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate);
401 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 401 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
402 quality_counts.fps = 1; 402 quality_counts.fps = 1;
403 quality_counts.resolution = 0; 403 quality_counts.resolution = 0;
404 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 404 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
405 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate); 405 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate);
406 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 406 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
407 quality_counts.fps = 0; 407 quality_counts.fps = 0;
408 quality_counts.resolution = 1; 408 quality_counts.resolution = 1;
409 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 409 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
410 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate); 410 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate);
411 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution); 411 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution);
412 quality_counts.fps = 1; 412 quality_counts.fps = 1;
413 quality_counts.resolution = -1; 413 quality_counts.resolution = -1;
414 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 414 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
415 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate); 415 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate);
416 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 416 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
417 quality_counts.fps = -1; 417 quality_counts.fps = -1;
418 quality_counts.resolution = -1; 418 quality_counts.resolution = -1;
419 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 419 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
420 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate); 420 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_framerate);
421 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 421 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
422 } 422 }
423 423
424 TEST_F(SendStatisticsProxyTest, GetStatsReportsCpuAdaptChanges) { 424 TEST_F(SendStatisticsProxyTest, GetStatsReportsCpuAdaptChanges) {
425 ViEEncoder::AdaptCounts cpu_counts; 425 VideoStreamEncoder::AdaptCounts cpu_counts;
426 ViEEncoder::AdaptCounts quality_counts; 426 VideoStreamEncoder::AdaptCounts quality_counts;
427 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_cpu_adapt_changes); 427 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_cpu_adapt_changes);
428 428
429 cpu_counts.resolution = 1; 429 cpu_counts.resolution = 1;
430 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 430 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
431 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate); 431 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate);
432 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution); 432 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution);
433 EXPECT_EQ(1, statistics_proxy_->GetStats().number_of_cpu_adapt_changes); 433 EXPECT_EQ(1, statistics_proxy_->GetStats().number_of_cpu_adapt_changes);
434 434
435 cpu_counts.resolution = 2; 435 cpu_counts.resolution = 2;
436 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 436 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
437 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate); 437 EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_framerate);
438 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution); 438 EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution);
439 EXPECT_EQ(2, statistics_proxy_->GetStats().number_of_cpu_adapt_changes); 439 EXPECT_EQ(2, statistics_proxy_->GetStats().number_of_cpu_adapt_changes);
440 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_quality_adapt_changes); 440 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_quality_adapt_changes);
441 } 441 }
442 442
443 TEST_F(SendStatisticsProxyTest, GetStatsReportsQualityAdaptChanges) { 443 TEST_F(SendStatisticsProxyTest, GetStatsReportsQualityAdaptChanges) {
444 ViEEncoder::AdaptCounts cpu_counts; 444 VideoStreamEncoder::AdaptCounts cpu_counts;
445 ViEEncoder::AdaptCounts quality_counts; 445 VideoStreamEncoder::AdaptCounts quality_counts;
446 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_quality_adapt_changes); 446 EXPECT_EQ(0, statistics_proxy_->GetStats().number_of_quality_adapt_changes);
447 447
448 quality_counts.fps = 1; 448 quality_counts.fps = 1;
449 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 449 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
450 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate); 450 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_framerate);
451 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 451 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
452 EXPECT_EQ(1, statistics_proxy_->GetStats().number_of_quality_adapt_changes); 452 EXPECT_EQ(1, statistics_proxy_->GetStats().number_of_quality_adapt_changes);
453 453
454 quality_counts.fps = 0; 454 quality_counts.fps = 0;
455 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 455 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
(...skipping 11 matching lines...) Expand all
467 statistics_proxy_.reset(); 467 statistics_proxy_.reset();
468 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 468 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
469 EXPECT_EQ(0, 469 EXPECT_EQ(0,
470 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality")); 470 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality"));
471 } 471 }
472 472
473 TEST_F(SendStatisticsProxyTest, AdaptChangesNotReported_MinRuntimeNotPassed) { 473 TEST_F(SendStatisticsProxyTest, AdaptChangesNotReported_MinRuntimeNotPassed) {
474 // First RTP packet sent. 474 // First RTP packet sent.
475 UpdateDataCounters(kFirstSsrc); 475 UpdateDataCounters(kFirstSsrc);
476 // Enable adaptation. 476 // Enable adaptation.
477 ViEEncoder::AdaptCounts cpu_counts; 477 VideoStreamEncoder::AdaptCounts cpu_counts;
478 ViEEncoder::AdaptCounts quality_counts; 478 VideoStreamEncoder::AdaptCounts quality_counts;
479 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 479 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
480 // Min runtime has not passed. 480 // Min runtime has not passed.
481 fake_clock_.AdvanceTimeMilliseconds(metrics::kMinRunTimeInSeconds * 1000 - 1); 481 fake_clock_.AdvanceTimeMilliseconds(metrics::kMinRunTimeInSeconds * 1000 - 1);
482 statistics_proxy_.reset(); 482 statistics_proxy_.reset();
483 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 483 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
484 EXPECT_EQ(0, 484 EXPECT_EQ(0,
485 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality")); 485 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality"));
486 } 486 }
487 487
488 TEST_F(SendStatisticsProxyTest, ZeroAdaptChangesReported) { 488 TEST_F(SendStatisticsProxyTest, ZeroAdaptChangesReported) {
489 // First RTP packet sent. 489 // First RTP packet sent.
490 UpdateDataCounters(kFirstSsrc); 490 UpdateDataCounters(kFirstSsrc);
491 // Enable adaptation. 491 // Enable adaptation.
492 ViEEncoder::AdaptCounts cpu_counts; 492 VideoStreamEncoder::AdaptCounts cpu_counts;
493 ViEEncoder::AdaptCounts quality_counts; 493 VideoStreamEncoder::AdaptCounts quality_counts;
494 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 494 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
495 // Min runtime has passed. 495 // Min runtime has passed.
496 fake_clock_.AdvanceTimeMilliseconds(metrics::kMinRunTimeInSeconds * 1000); 496 fake_clock_.AdvanceTimeMilliseconds(metrics::kMinRunTimeInSeconds * 1000);
497 statistics_proxy_.reset(); 497 statistics_proxy_.reset();
498 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 498 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
499 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 0)); 499 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 0));
500 EXPECT_EQ(1, 500 EXPECT_EQ(1,
501 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality")); 501 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality"));
502 EXPECT_EQ( 502 EXPECT_EQ(
503 1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Quality", 0)); 503 1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Quality", 0));
504 } 504 }
505 505
506 TEST_F(SendStatisticsProxyTest, CpuAdaptChangesReported) { 506 TEST_F(SendStatisticsProxyTest, CpuAdaptChangesReported) {
507 // First RTP packet sent. 507 // First RTP packet sent.
508 UpdateDataCounters(kFirstSsrc); 508 UpdateDataCounters(kFirstSsrc);
509 // Enable adaptation. 509 // Enable adaptation.
510 ViEEncoder::AdaptCounts cpu_counts; 510 VideoStreamEncoder::AdaptCounts cpu_counts;
511 ViEEncoder::AdaptCounts quality_counts; 511 VideoStreamEncoder::AdaptCounts quality_counts;
512 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 512 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
513 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute. 513 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute.
514 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 514 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
515 fake_clock_.AdvanceTimeMilliseconds(10000); 515 fake_clock_.AdvanceTimeMilliseconds(10000);
516 statistics_proxy_.reset(); 516 statistics_proxy_.reset();
517 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 517 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
518 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 6)); 518 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 6));
519 } 519 }
520 520
521 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsExcludesDisabledTime) { 521 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsExcludesDisabledTime) {
522 // First RTP packet sent. 522 // First RTP packet sent.
523 UpdateDataCounters(kFirstSsrc); 523 UpdateDataCounters(kFirstSsrc);
524 524
525 // Disable quality adaptation. 525 // Disable quality adaptation.
526 ViEEncoder::AdaptCounts cpu_counts; 526 VideoStreamEncoder::AdaptCounts cpu_counts;
527 ViEEncoder::AdaptCounts quality_counts; 527 VideoStreamEncoder::AdaptCounts quality_counts;
528 quality_counts.fps = -1; 528 quality_counts.fps = -1;
529 quality_counts.resolution = -1; 529 quality_counts.resolution = -1;
530 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 530 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
531 fake_clock_.AdvanceTimeMilliseconds(10000); 531 fake_clock_.AdvanceTimeMilliseconds(10000);
532 532
533 // Enable quality adaptation. 533 // Enable quality adaptation.
534 // Adapt changes: 2, elapsed time: 20 sec. 534 // Adapt changes: 2, elapsed time: 20 sec.
535 quality_counts.fps = 0; 535 quality_counts.fps = 0;
536 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 536 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
537 fake_clock_.AdvanceTimeMilliseconds(5000); 537 fake_clock_.AdvanceTimeMilliseconds(5000);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 584 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
585 EXPECT_EQ(0, 585 EXPECT_EQ(0,
586 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality")); 586 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality"));
587 } 587 }
588 588
589 TEST_F(SendStatisticsProxyTest, QualityAdaptChangesStatsExcludesSuspendedTime) { 589 TEST_F(SendStatisticsProxyTest, QualityAdaptChangesStatsExcludesSuspendedTime) {
590 // First RTP packet sent. 590 // First RTP packet sent.
591 UpdateDataCounters(kFirstSsrc); 591 UpdateDataCounters(kFirstSsrc);
592 592
593 // Enable adaptation. 593 // Enable adaptation.
594 ViEEncoder::AdaptCounts cpu_counts; 594 VideoStreamEncoder::AdaptCounts cpu_counts;
595 ViEEncoder::AdaptCounts quality_counts; 595 VideoStreamEncoder::AdaptCounts quality_counts;
596 // Adapt changes: 2, elapsed time: 20 sec. 596 // Adapt changes: 2, elapsed time: 20 sec.
597 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 597 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
598 fake_clock_.AdvanceTimeMilliseconds(20000); 598 fake_clock_.AdvanceTimeMilliseconds(20000);
599 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 599 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
600 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 600 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
601 601
602 // Suspend and resume video. 602 // Suspend and resume video.
603 statistics_proxy_->OnSuspendChange(true); 603 statistics_proxy_->OnSuspendChange(true);
604 fake_clock_.AdvanceTimeMilliseconds(30000); 604 fake_clock_.AdvanceTimeMilliseconds(30000);
605 statistics_proxy_->OnSuspendChange(false); 605 statistics_proxy_->OnSuspendChange(false);
(...skipping 12 matching lines...) Expand all
618 618
619 TEST_F(SendStatisticsProxyTest, CpuAdaptChangesStatsExcludesSuspendedTime) { 619 TEST_F(SendStatisticsProxyTest, CpuAdaptChangesStatsExcludesSuspendedTime) {
620 // First RTP packet sent. 620 // First RTP packet sent.
621 UpdateDataCounters(kFirstSsrc); 621 UpdateDataCounters(kFirstSsrc);
622 622
623 // Video not suspended. 623 // Video not suspended.
624 statistics_proxy_->OnSuspendChange(false); 624 statistics_proxy_->OnSuspendChange(false);
625 fake_clock_.AdvanceTimeMilliseconds(30000); 625 fake_clock_.AdvanceTimeMilliseconds(30000);
626 626
627 // Enable adaptation. 627 // Enable adaptation.
628 ViEEncoder::AdaptCounts cpu_counts; 628 VideoStreamEncoder::AdaptCounts cpu_counts;
629 ViEEncoder::AdaptCounts quality_counts; 629 VideoStreamEncoder::AdaptCounts quality_counts;
630 // Adapt changes: 1, elapsed time: 20 sec. 630 // Adapt changes: 1, elapsed time: 20 sec.
631 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 631 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
632 fake_clock_.AdvanceTimeMilliseconds(10000); 632 fake_clock_.AdvanceTimeMilliseconds(10000);
633 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 633 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
634 634
635 // Video not suspended, stats time already started. 635 // Video not suspended, stats time already started.
636 statistics_proxy_->OnSuspendChange(false); 636 statistics_proxy_->OnSuspendChange(false);
637 fake_clock_.AdvanceTimeMilliseconds(10000); 637 fake_clock_.AdvanceTimeMilliseconds(10000);
638 638
639 // Disable adaptation. 639 // Disable adaptation.
(...skipping 23 matching lines...) Expand all
663 } 663 }
664 664
665 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsNotStartedIfVideoSuspended) { 665 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsNotStartedIfVideoSuspended) {
666 // First RTP packet sent. 666 // First RTP packet sent.
667 UpdateDataCounters(kFirstSsrc); 667 UpdateDataCounters(kFirstSsrc);
668 668
669 // Video suspended. 669 // Video suspended.
670 statistics_proxy_->OnSuspendChange(true); 670 statistics_proxy_->OnSuspendChange(true);
671 671
672 // Enable adaptation, stats time not started when suspended. 672 // Enable adaptation, stats time not started when suspended.
673 ViEEncoder::AdaptCounts cpu_counts; 673 VideoStreamEncoder::AdaptCounts cpu_counts;
674 ViEEncoder::AdaptCounts quality_counts; 674 VideoStreamEncoder::AdaptCounts quality_counts;
675 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 675 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
676 fake_clock_.AdvanceTimeMilliseconds(10000); 676 fake_clock_.AdvanceTimeMilliseconds(10000);
677 677
678 // Resume video, stats time started. 678 // Resume video, stats time started.
679 // Adapt changes: 1, elapsed time: 10 sec. 679 // Adapt changes: 1, elapsed time: 10 sec.
680 statistics_proxy_->OnSuspendChange(false); 680 statistics_proxy_->OnSuspendChange(false);
681 fake_clock_.AdvanceTimeMilliseconds(10000); 681 fake_clock_.AdvanceTimeMilliseconds(10000);
682 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 682 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
683 683
684 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute. 684 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute.
685 statistics_proxy_.reset(); 685 statistics_proxy_.reset();
686 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 686 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
687 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 6)); 687 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 6));
688 } 688 }
689 689
690 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsRestartsOnFirstSentPacket) { 690 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsRestartsOnFirstSentPacket) {
691 // Send first packet, adaptation enabled. 691 // Send first packet, adaptation enabled.
692 // Elapsed time before first packet is sent should be excluded. 692 // Elapsed time before first packet is sent should be excluded.
693 ViEEncoder::AdaptCounts cpu_counts; 693 VideoStreamEncoder::AdaptCounts cpu_counts;
694 ViEEncoder::AdaptCounts quality_counts; 694 VideoStreamEncoder::AdaptCounts quality_counts;
695 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 695 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
696 fake_clock_.AdvanceTimeMilliseconds(10000); 696 fake_clock_.AdvanceTimeMilliseconds(10000);
697 UpdateDataCounters(kFirstSsrc); 697 UpdateDataCounters(kFirstSsrc);
698 698
699 // Adapt changes: 1, elapsed time: 10 sec. 699 // Adapt changes: 1, elapsed time: 10 sec.
700 fake_clock_.AdvanceTimeMilliseconds(10000); 700 fake_clock_.AdvanceTimeMilliseconds(10000);
701 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 701 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
702 UpdateDataCounters(kFirstSsrc); 702 UpdateDataCounters(kFirstSsrc);
703 703
704 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute. 704 // Adapt changes: 1, elapsed time: 10 sec => 6 per minute.
705 statistics_proxy_.reset(); 705 statistics_proxy_.reset();
706 EXPECT_EQ(1, 706 EXPECT_EQ(1,
707 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality")); 707 metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Quality"));
708 EXPECT_EQ( 708 EXPECT_EQ(
709 1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Quality", 6)); 709 1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Quality", 6));
710 } 710 }
711 711
712 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsStartedAfterFirstSentPacket) { 712 TEST_F(SendStatisticsProxyTest, AdaptChangesStatsStartedAfterFirstSentPacket) {
713 // Enable and disable adaptation. 713 // Enable and disable adaptation.
714 ViEEncoder::AdaptCounts cpu_counts; 714 VideoStreamEncoder::AdaptCounts cpu_counts;
715 ViEEncoder::AdaptCounts quality_counts; 715 VideoStreamEncoder::AdaptCounts quality_counts;
716 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 716 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
717 fake_clock_.AdvanceTimeMilliseconds(60000); 717 fake_clock_.AdvanceTimeMilliseconds(60000);
718 cpu_counts.fps = -1; 718 cpu_counts.fps = -1;
719 cpu_counts.resolution = -1; 719 cpu_counts.resolution = -1;
720 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 720 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
721 721
722 // Send first packet, scaling disabled. 722 // Send first packet, scaling disabled.
723 // Elapsed time before first packet is sent should be excluded. 723 // Elapsed time before first packet is sent should be excluded.
724 UpdateDataCounters(kFirstSsrc); 724 UpdateDataCounters(kFirstSsrc);
725 fake_clock_.AdvanceTimeMilliseconds(60000); 725 fake_clock_.AdvanceTimeMilliseconds(60000);
(...skipping 10 matching lines...) Expand all
736 736
737 // Adapt changes: 1, elapsed time: 20 sec => 3 per minute. 737 // Adapt changes: 1, elapsed time: 20 sec => 3 per minute.
738 statistics_proxy_.reset(); 738 statistics_proxy_.reset();
739 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu")); 739 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.AdaptChangesPerMinute.Cpu"));
740 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 3)); 740 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.AdaptChangesPerMinute.Cpu", 3));
741 } 741 }
742 742
743 TEST_F(SendStatisticsProxyTest, AdaptChangesReportedAfterContentSwitch) { 743 TEST_F(SendStatisticsProxyTest, AdaptChangesReportedAfterContentSwitch) {
744 // First RTP packet sent, cpu adaptation enabled. 744 // First RTP packet sent, cpu adaptation enabled.
745 UpdateDataCounters(kFirstSsrc); 745 UpdateDataCounters(kFirstSsrc);
746 ViEEncoder::AdaptCounts cpu_counts; 746 VideoStreamEncoder::AdaptCounts cpu_counts;
747 ViEEncoder::AdaptCounts quality_counts; 747 VideoStreamEncoder::AdaptCounts quality_counts;
748 quality_counts.fps = -1; 748 quality_counts.fps = -1;
749 quality_counts.resolution = -1; 749 quality_counts.resolution = -1;
750 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 750 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
751 751
752 // Adapt changes: 2, elapsed time: 15 sec => 8 per minute. 752 // Adapt changes: 2, elapsed time: 15 sec => 8 per minute.
753 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 753 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
754 fake_clock_.AdvanceTimeMilliseconds(6000); 754 fake_clock_.AdvanceTimeMilliseconds(6000);
755 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 755 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
756 fake_clock_.AdvanceTimeMilliseconds(9000); 756 fake_clock_.AdvanceTimeMilliseconds(9000);
757 757
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 encoded_image._timeStamp = i + 1; 897 encoded_image._timeStamp = i + 1;
898 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr); 898 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr);
899 } 899 }
900 // Suspended time interval should not affect the framerate. 900 // Suspended time interval should not affect the framerate.
901 statistics_proxy_.reset(); 901 statistics_proxy_.reset();
902 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.SentFramesPerSecond")); 902 EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.SentFramesPerSecond"));
903 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.SentFramesPerSecond", kFps)); 903 EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.SentFramesPerSecond", kFps));
904 } 904 }
905 905
906 TEST_F(SendStatisticsProxyTest, CpuLimitedHistogramNotUpdatedWhenDisabled) { 906 TEST_F(SendStatisticsProxyTest, CpuLimitedHistogramNotUpdatedWhenDisabled) {
907 ViEEncoder::AdaptCounts cpu_counts; 907 VideoStreamEncoder::AdaptCounts cpu_counts;
908 ViEEncoder::AdaptCounts quality_counts; 908 VideoStreamEncoder::AdaptCounts quality_counts;
909 cpu_counts.resolution = -1; 909 cpu_counts.resolution = -1;
910 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 910 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
911 911
912 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 912 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
913 statistics_proxy_->OnIncomingFrame(kWidth, kHeight); 913 statistics_proxy_->OnIncomingFrame(kWidth, kHeight);
914 914
915 statistics_proxy_.reset(); 915 statistics_proxy_.reset();
916 EXPECT_EQ(0, 916 EXPECT_EQ(0,
917 metrics::NumSamples("WebRTC.Video.CpuLimitedResolutionInPercent")); 917 metrics::NumSamples("WebRTC.Video.CpuLimitedResolutionInPercent"));
918 } 918 }
919 919
920 TEST_F(SendStatisticsProxyTest, CpuLimitedHistogramUpdated) { 920 TEST_F(SendStatisticsProxyTest, CpuLimitedHistogramUpdated) {
921 ViEEncoder::AdaptCounts cpu_counts; 921 VideoStreamEncoder::AdaptCounts cpu_counts;
922 ViEEncoder::AdaptCounts quality_counts; 922 VideoStreamEncoder::AdaptCounts quality_counts;
923 cpu_counts.resolution = 0; 923 cpu_counts.resolution = 0;
924 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 924 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
925 925
926 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 926 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
927 statistics_proxy_->OnIncomingFrame(kWidth, kHeight); 927 statistics_proxy_->OnIncomingFrame(kWidth, kHeight);
928 928
929 cpu_counts.resolution = 1; 929 cpu_counts.resolution = 1;
930 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts); 930 statistics_proxy_->OnCpuAdaptationChanged(cpu_counts, quality_counts);
931 931
932 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 932 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
1209 // Resolutions disabled. 1209 // Resolutions disabled.
1210 EXPECT_EQ(1, metrics::NumSamples( 1210 EXPECT_EQ(1, metrics::NumSamples(
1211 "WebRTC.Video.BandwidthLimitedResolutionsDisabled")); 1211 "WebRTC.Video.BandwidthLimitedResolutionsDisabled"));
1212 EXPECT_EQ( 1212 EXPECT_EQ(
1213 1, metrics::NumEvents("WebRTC.Video.BandwidthLimitedResolutionsDisabled", 1213 1, metrics::NumEvents("WebRTC.Video.BandwidthLimitedResolutionsDisabled",
1214 kResolutionsDisabled)); 1214 kResolutionsDisabled));
1215 } 1215 }
1216 1216
1217 TEST_F(SendStatisticsProxyTest, 1217 TEST_F(SendStatisticsProxyTest,
1218 QualityLimitedHistogramsNotUpdatedWhenDisabled) { 1218 QualityLimitedHistogramsNotUpdatedWhenDisabled) {
1219 ViEEncoder::AdaptCounts cpu_counts; 1219 VideoStreamEncoder::AdaptCounts cpu_counts;
1220 ViEEncoder::AdaptCounts quality_counts; 1220 VideoStreamEncoder::AdaptCounts quality_counts;
1221 quality_counts.resolution = -1; 1221 quality_counts.resolution = -1;
1222 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 1222 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
1223 EncodedImage encoded_image; 1223 EncodedImage encoded_image;
1224 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 1224 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
1225 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo); 1225 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo);
1226 1226
1227 // Histograms are updated when the statistics_proxy_ is deleted. 1227 // Histograms are updated when the statistics_proxy_ is deleted.
1228 statistics_proxy_.reset(); 1228 statistics_proxy_.reset();
1229 EXPECT_EQ( 1229 EXPECT_EQ(
1230 0, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent")); 1230 0, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent"));
1231 EXPECT_EQ(0, metrics::NumSamples( 1231 EXPECT_EQ(0, metrics::NumSamples(
1232 "WebRTC.Video.QualityLimitedResolutionDownscales")); 1232 "WebRTC.Video.QualityLimitedResolutionDownscales"));
1233 } 1233 }
1234 1234
1235 TEST_F(SendStatisticsProxyTest, 1235 TEST_F(SendStatisticsProxyTest,
1236 QualityLimitedHistogramsUpdatedWhenEnabled_NoResolutionDownscale) { 1236 QualityLimitedHistogramsUpdatedWhenEnabled_NoResolutionDownscale) {
1237 ViEEncoder::AdaptCounts cpu_counts; 1237 VideoStreamEncoder::AdaptCounts cpu_counts;
1238 ViEEncoder::AdaptCounts quality_counts; 1238 VideoStreamEncoder::AdaptCounts quality_counts;
1239 quality_counts.resolution = 0; 1239 quality_counts.resolution = 0;
1240 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 1240 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
1241 EncodedImage encoded_image; 1241 EncodedImage encoded_image;
1242 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 1242 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
1243 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo); 1243 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo);
1244 1244
1245 // Histograms are updated when the statistics_proxy_ is deleted. 1245 // Histograms are updated when the statistics_proxy_ is deleted.
1246 statistics_proxy_.reset(); 1246 statistics_proxy_.reset();
1247 EXPECT_EQ( 1247 EXPECT_EQ(
1248 1, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent")); 1248 1, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent"));
1249 EXPECT_EQ(1, metrics::NumEvents( 1249 EXPECT_EQ(1, metrics::NumEvents(
1250 "WebRTC.Video.QualityLimitedResolutionInPercent", 0)); 1250 "WebRTC.Video.QualityLimitedResolutionInPercent", 0));
1251 // No resolution downscale. 1251 // No resolution downscale.
1252 EXPECT_EQ(0, metrics::NumSamples( 1252 EXPECT_EQ(0, metrics::NumSamples(
1253 "WebRTC.Video.QualityLimitedResolutionDownscales")); 1253 "WebRTC.Video.QualityLimitedResolutionDownscales"));
1254 } 1254 }
1255 1255
1256 TEST_F(SendStatisticsProxyTest, 1256 TEST_F(SendStatisticsProxyTest,
1257 QualityLimitedHistogramsUpdatedWhenEnabled_TwoResolutionDownscales) { 1257 QualityLimitedHistogramsUpdatedWhenEnabled_TwoResolutionDownscales) {
1258 const int kDownscales = 2; 1258 const int kDownscales = 2;
1259 ViEEncoder::AdaptCounts cpu_counts; 1259 VideoStreamEncoder::AdaptCounts cpu_counts;
1260 ViEEncoder::AdaptCounts quality_counts; 1260 VideoStreamEncoder::AdaptCounts quality_counts;
1261 quality_counts.resolution = kDownscales; 1261 quality_counts.resolution = kDownscales;
1262 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts); 1262 statistics_proxy_->SetAdaptationStats(cpu_counts, quality_counts);
1263 EncodedImage encoded_image; 1263 EncodedImage encoded_image;
1264 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) 1264 for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
1265 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo); 1265 statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo);
1266 // Histograms are updated when the statistics_proxy_ is deleted. 1266 // Histograms are updated when the statistics_proxy_ is deleted.
1267 statistics_proxy_.reset(); 1267 statistics_proxy_.reset();
1268 EXPECT_EQ( 1268 EXPECT_EQ(
1269 1, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent")); 1269 1, metrics::NumSamples("WebRTC.Video.QualityLimitedResolutionInPercent"));
1270 EXPECT_EQ(1, metrics::NumEvents( 1270 EXPECT_EQ(1, metrics::NumEvents(
(...skipping 17 matching lines...) Expand all
1288 // Simulcast disabled resolutions 1288 // Simulcast disabled resolutions
1289 encoded_image.adapt_reason_.bw_resolutions_disabled = 1; 1289 encoded_image.adapt_reason_.bw_resolutions_disabled = 1;
1290 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr); 1290 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr);
1291 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution); 1291 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution);
1292 1292
1293 encoded_image.adapt_reason_.bw_resolutions_disabled = 0; 1293 encoded_image.adapt_reason_.bw_resolutions_disabled = 0;
1294 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr); 1294 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr);
1295 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution); 1295 EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
1296 1296
1297 // Resolution scaled due to quality. 1297 // Resolution scaled due to quality.
1298 ViEEncoder::AdaptCounts cpu_counts; 1298 VideoStreamEncoder::AdaptCounts cpu_counts;
1299 ViEEncoder::AdaptCounts quality_counts; 1299 VideoStreamEncoder::AdaptCounts quality_counts;
1300 quality_counts.resolution = 1; 1300 quality_counts.resolution = 1;
1301 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts); 1301 statistics_proxy_->OnQualityAdaptationChanged(cpu_counts, quality_counts);
1302 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr); 1302 statistics_proxy_->OnSendEncodedImage(encoded_image, nullptr);
1303 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution); 1303 EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution);
1304 } 1304 }
1305 1305
1306 TEST_F(SendStatisticsProxyTest, GetStatsReportsTargetMediaBitrate) { 1306 TEST_F(SendStatisticsProxyTest, GetStatsReportsTargetMediaBitrate) {
1307 // Initially zero. 1307 // Initially zero.
1308 EXPECT_EQ(0, statistics_proxy_->GetStats().target_media_bitrate_bps); 1308 EXPECT_EQ(0, statistics_proxy_->GetStats().target_media_bitrate_bps);
1309 1309
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1793 fake_clock_.AdvanceTimeMilliseconds(kPeriodIntervalMs); 1793 fake_clock_.AdvanceTimeMilliseconds(kPeriodIntervalMs);
1794 proxy->DataCountersUpdated(counters, kFirstSsrc); 1794 proxy->DataCountersUpdated(counters, kFirstSsrc);
1795 } 1795 }
1796 1796
1797 // FEC not enabled. 1797 // FEC not enabled.
1798 statistics_proxy_.reset(); 1798 statistics_proxy_.reset();
1799 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.FecBitrateSentInKbps")); 1799 EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.FecBitrateSentInKbps"));
1800 } 1800 }
1801 1801
1802 } // namespace webrtc 1802 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/send_statistics_proxy.cc ('k') | webrtc/video/video_send_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698