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@7621 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/pacing/bitrate_prober.cc b/webrtc/modules/pacing/bitrate_prober.cc
index 04e71c5..51c87fb 100644
--- a/webrtc/modules/pacing/bitrate_prober.cc
+++ b/webrtc/modules/pacing/bitrate_prober.cc
@@ -55,16 +55,18 @@
     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/webrtc/modules/pacing/bitrate_prober_unittest.cc b/webrtc/modules/pacing/bitrate_prober_unittest.cc
index 15b1cc5..fac6a72 100644
--- a/webrtc/modules/pacing/bitrate_prober_unittest.cc
+++ b/webrtc/modules/pacing/bitrate_prober_unittest.cc
@@ -30,17 +30,11 @@
   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/webrtc/modules/pacing/paced_sender_unittest.cc b/webrtc/modules/pacing/paced_sender_unittest.cc
index 34787d1..fe16008 100644
--- a/webrtc/modules/pacing/paced_sender_unittest.cc
+++ b/webrtc/modules/pacing/paced_sender_unittest.cc
@@ -711,13 +711,14 @@
 };
 
 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_);