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

Side by Side Diff: webrtc/call/rampup_tests.cc

Issue 2553613002: Revert "Revert of Use different restrictions of acked bitrate lag depending on operating point. (pa… (Closed)
Patch Set: Fix flaky tests. Created 4 years 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) 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
11 #include "webrtc/call/rampup_tests.h" 11 #include "webrtc/call/rampup_tests.h"
12 12
13 #include "webrtc/base/checks.h" 13 #include "webrtc/base/checks.h"
14 #include "webrtc/base/platform_thread.h" 14 #include "webrtc/base/platform_thread.h"
15 #include "webrtc/test/encoder_settings.h" 15 #include "webrtc/test/encoder_settings.h"
16 #include "webrtc/test/gtest.h" 16 #include "webrtc/test/gtest.h"
17 #include "webrtc/test/testsupport/perf_test.h" 17 #include "webrtc/test/testsupport/perf_test.h"
18 18
19 namespace webrtc { 19 namespace webrtc {
20 namespace { 20 namespace {
21 21
22 static const int64_t kPollIntervalMs = 20; 22 static const int64_t kPollIntervalMs = 20;
23 static const int kHighBandwidthLimitBps = 80000;
24 static const int kExpectedHighVideoBitrateBps = 60000;
25 static const int kExpectedHighAudioBitrateBps = 30000;
26 static const int kLowBandwidthLimitBps = 20000;
27 static const int kExpectedLowBitrateBps = 20000;
23 28
24 std::vector<uint32_t> GenerateSsrcs(size_t num_streams, uint32_t ssrc_offset) { 29 std::vector<uint32_t> GenerateSsrcs(size_t num_streams, uint32_t ssrc_offset) {
25 std::vector<uint32_t> ssrcs; 30 std::vector<uint32_t> ssrcs;
26 for (size_t i = 0; i != num_streams; ++i) 31 for (size_t i = 0; i != num_streams; ++i)
27 ssrcs.push_back(static_cast<uint32_t>(ssrc_offset + i)); 32 ssrcs.push_back(static_cast<uint32_t>(ssrc_offset + i));
28 return ssrcs; 33 return ssrcs;
29 } 34 }
30 } // namespace 35 } // namespace
31 36
32 RampUpTester::RampUpTester(size_t num_video_streams, 37 RampUpTester::RampUpTester(size_t num_video_streams,
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 str += s.str(); 412 str += s.str();
408 str += "stream"; 413 str += "stream";
409 str += (num_audio_streams_ > 1 ? "s" : ""); 414 str += (num_audio_streams_ > 1 ? "s" : "");
410 str += "_"; 415 str += "_";
411 } 416 }
412 str += (rtx_ ? "" : "no"); 417 str += (rtx_ ? "" : "no");
413 str += "rtx"; 418 str += "rtx";
414 return str; 419 return str;
415 } 420 }
416 421
422 int RampUpDownUpTester::GetExpectedHighBitrate() const {
423 if (num_audio_streams_ > 0 && num_video_streams_ == 0)
424 return kExpectedHighAudioBitrateBps;
425 return kExpectedHighVideoBitrateBps;
426 }
427
417 void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) { 428 void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) {
418 int64_t now = clock_->TimeInMilliseconds(); 429 int64_t now = clock_->TimeInMilliseconds();
419 switch (test_state_) { 430 switch (test_state_) {
420 case kFirstRampup: { 431 case kFirstRampup: {
421 EXPECT_FALSE(suspended); 432 EXPECT_FALSE(suspended);
422 if (bitrate_bps >= kExpectedHighBitrateBps) { 433 if (bitrate_bps >= GetExpectedHighBitrate()) {
423 // The first ramp-up has reached the target bitrate. Change the 434 // The first ramp-up has reached the target bitrate. Change the
424 // channel limit, and move to the next test state. 435 // channel limit, and move to the next test state.
425 forward_transport_config_.link_capacity_kbps = 436 forward_transport_config_.link_capacity_kbps =
426 kLowBandwidthLimitBps / 1000; 437 kLowBandwidthLimitBps / 1000;
427 send_transport_->SetConfig(forward_transport_config_); 438 send_transport_->SetConfig(forward_transport_config_);
428 test_state_ = kLowRate; 439 test_state_ = kLowRate;
429 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), 440 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
430 "first_rampup", now - state_start_ms_, "ms", 441 "first_rampup", now - state_start_ms_, "ms",
431 false); 442 false);
432 state_start_ms_ = now; 443 state_start_ms_ = now;
(...skipping 16 matching lines...) Expand all
449 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), 460 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
450 "rampdown", now - state_start_ms_, "ms", 461 "rampdown", now - state_start_ms_, "ms",
451 false); 462 false);
452 state_start_ms_ = now; 463 state_start_ms_ = now;
453 interval_start_ms_ = now; 464 interval_start_ms_ = now;
454 sent_bytes_ = 0; 465 sent_bytes_ = 0;
455 } 466 }
456 break; 467 break;
457 } 468 }
458 case kSecondRampup: { 469 case kSecondRampup: {
459 if (bitrate_bps >= kExpectedHighBitrateBps && !suspended) { 470 if (bitrate_bps >= GetExpectedHighBitrate() && !suspended) {
460 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(), 471 webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
461 "second_rampup", now - state_start_ms_, "ms", 472 "second_rampup", now - state_start_ms_, "ms",
462 false); 473 false);
463 ReportResult("ramp-up-down-up-average-network-latency", 474 ReportResult("ramp-up-down-up-average-network-latency",
464 send_transport_->GetAverageDelayMs(), "milliseconds"); 475 send_transport_->GetAverageDelayMs(), "milliseconds");
465 observation_complete_.Set(); 476 observation_complete_.Set();
466 } 477 }
467 break; 478 break;
468 } 479 }
469 } 480 }
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 true); 635 true);
625 RunBaseTest(&test); 636 RunBaseTest(&test);
626 } 637 }
627 638
628 TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) { 639 TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) {
629 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, 640 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
630 RtpExtension::kTransportSequenceNumberUri, false, false); 641 RtpExtension::kTransportSequenceNumberUri, false, false);
631 RunBaseTest(&test); 642 RunBaseTest(&test);
632 } 643 }
633 } // namespace webrtc 644 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/call/rampup_tests.h ('k') | webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698