diff options
author | stefan@webrtc.org <stefan@webrtc.org> | 2014-11-04 19:33:55 +0000 |
---|---|---|
committer | stefan@webrtc.org <stefan@webrtc.org> | 2014-11-04 19:33:55 +0000 |
commit | c4cd81a0dadc61761efb1e14bbec0f191d45c971 (patch) | |
tree | a5b9b1573d0432f4dc1ee7209202149e9f359d24 | |
parent | 4706c9639d883916b8ed35a1f40f6327162f51b4 (diff) | |
download | webrtc-c4cd81a0dadc61761efb1e14bbec0f191d45c971.tar.gz |
Reduce to 2 probes when probing for initial bandwidth.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23359005
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7621 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r-- | modules/pacing/bitrate_prober.cc | 10 | ||||
-rw-r--r-- | modules/pacing/bitrate_prober_unittest.cc | 14 | ||||
-rw-r--r-- | modules/pacing/paced_sender_unittest.cc | 7 |
3 files changed, 14 insertions, 17 deletions
diff --git a/modules/pacing/bitrate_prober.cc b/modules/pacing/bitrate_prober.cc index 04e71c5c..51c87fb2 100644 --- a/modules/pacing/bitrate_prober.cc +++ b/modules/pacing/bitrate_prober.cc @@ -55,16 +55,18 @@ void BitrateProber::MaybeInitializeProbe(int bitrate_bps) { return; probe_bitrates_.clear(); // Max number of packets used for probing. - const int kMaxProbeLength = 15; - const int kMaxNumProbes = 3; - const int kPacketsPerProbe = kMaxProbeLength / kMaxNumProbes; - const float kProbeBitrateMultipliers[kMaxNumProbes] = {2.5, 4, 6}; + const int kMaxNumProbes = 2; + const int kPacketsPerProbe = 5; + const float kProbeBitrateMultipliers[kMaxNumProbes] = {3, 6}; int bitrates_bps[kMaxNumProbes]; std::stringstream bitrate_log; bitrate_log << "Start probing for bandwidth, bitrates:"; for (int i = 0; i < kMaxNumProbes; ++i) { bitrates_bps[i] = kProbeBitrateMultipliers[i] * bitrate_bps; bitrate_log << " " << bitrates_bps[i]; + // We need one extra to get 5 deltas for the first probe. + if (i == 0) + probe_bitrates_.push_back(bitrates_bps[i]); for (int j = 0; j < kPacketsPerProbe; ++j) probe_bitrates_.push_back(bitrates_bps[i]); } diff --git a/modules/pacing/bitrate_prober_unittest.cc b/modules/pacing/bitrate_prober_unittest.cc index 15b1cc58..fac6a721 100644 --- a/modules/pacing/bitrate_prober_unittest.cc +++ b/modules/pacing/bitrate_prober_unittest.cc @@ -30,17 +30,11 @@ TEST(BitrateProberTest, VerifyStatesAndTimeBetweenProbes) { EXPECT_EQ(0, prober.TimeUntilNextProbe(now_ms)); prober.PacketSent(now_ms, 1000); - for (int i = 0; i < 4; ++i) { - EXPECT_EQ(10, prober.TimeUntilNextProbe(now_ms)); - now_ms += 5; - EXPECT_EQ(5, prober.TimeUntilNextProbe(now_ms)); - now_ms += 5; - EXPECT_EQ(0, prober.TimeUntilNextProbe(now_ms)); - prober.PacketSent(now_ms, 1000); - } for (int i = 0; i < 5; ++i) { - EXPECT_EQ(6, prober.TimeUntilNextProbe(now_ms)); - now_ms += 6; + EXPECT_EQ(8, prober.TimeUntilNextProbe(now_ms)); + now_ms += 4; + EXPECT_EQ(4, prober.TimeUntilNextProbe(now_ms)); + now_ms += 4; EXPECT_EQ(0, prober.TimeUntilNextProbe(now_ms)); prober.PacketSent(now_ms, 1000); } diff --git a/modules/pacing/paced_sender_unittest.cc b/modules/pacing/paced_sender_unittest.cc index 34787d16..fe16008c 100644 --- a/modules/pacing/paced_sender_unittest.cc +++ b/modules/pacing/paced_sender_unittest.cc @@ -711,13 +711,14 @@ class ProbingPacedSender : public PacedSender { }; TEST_F(PacedSenderTest, ProbingWithInitialFrame) { - const int kNumPackets = 15; + const int kNumPackets = 11; + const int kNumDeltas = kNumPackets - 1; const int kPacketSize = 1200; const int kInitialBitrateKbps = 300; uint32_t ssrc = 12346; uint16_t sequence_number = 1234; - const int expected_deltas[kNumPackets - 1] = { - 12, 12, 12, 12, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5}; + const int expected_deltas[kNumDeltas] = { + 10, 10, 10, 10, 10, 5, 5, 5, 5, 5}; std::list<int> expected_deltas_list(expected_deltas, expected_deltas + kNumPackets - 1); PacedSenderProbing callback(expected_deltas_list, &clock_); |