Enable WebRTC-Bwe-MaxRttLimit by default.

Some of the field trial default values are changed as well.

Now available bitrate estimation will be decreasing when RTT is more than 3 seconds.
Unless different parameters for the field trial are specified.

Bug: None
Change-Id: Icd1923fc2e2e7766a7f645016c5432a52537145f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158840
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Konrad Hofbauer <hofbauer@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Nikita Zetilov <zetilovn@google.com>
Cr-Commit-Position: refs/heads/master@{#29823}
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
index d74daec..885bdab 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
@@ -378,41 +378,6 @@
   EXPECT_NEAR(client->padding_rate().kbps(), client->target_rate().kbps(), 1);
 }
 
-TEST_F(GoogCcNetworkControllerTest,
-       NoCongestionWindowPushbackWithoutReceiveTraffic) {
-  ScopedFieldTrials trial(
-      "WebRTC-CongestionWindow/QueueSize:800,MinBitrate:30000/"
-      "WebRTC-Bwe-CongestionWindowDownlinkDelay/Enabled/");
-  Scenario s("googcc_unit/cwnd_no_downlink", false);
-  NetworkSimulationConfig net_conf;
-  net_conf.bandwidth = DataRate::kbps(1000);
-  net_conf.delay = TimeDelta::ms(100);
-  auto send_net = s.CreateSimulationNode(net_conf);
-  auto ret_net = s.CreateMutableSimulationNode(net_conf);
-
-  auto* client = s.CreateClient("sender", CallClientConfig());
-  auto* route = s.CreateRoutes(client, {send_net},
-                               s.CreateClient("return", CallClientConfig()),
-                               {ret_net->node()});
-
-  s.CreateVideoStream(route->forward(), VideoStreamConfig());
-  // A return video stream ensures we get steady traffic stream,
-  // so we can better differentiate between send being down and return
-  // being down.
-  s.CreateVideoStream(route->reverse(), VideoStreamConfig());
-
-  // Wait to stabilize the bandwidth estimate.
-  s.RunFor(TimeDelta::seconds(10));
-  // Disabling the return triggers the data window expansion logic
-  // which will stop the congestion window from activating.
-  ret_net->PauseTransmissionUntil(s.Now() + TimeDelta::seconds(10));
-  s.RunFor(TimeDelta::seconds(5));
-
-  // Expect that we never lost send speed because we received no packets.
-  // 500kbps is enough to demonstrate that congestion window isn't activated.
-  EXPECT_GE(client->target_rate().kbps(), 500);
-}
-
 TEST_F(GoogCcNetworkControllerTest, CongestionWindowPushBackOnSendDelaySpike) {
   ScopedFieldTrials trial(
       "WebRTC-CongestionWindow/QueueSize:800,MinBitrate:30000/"
diff --git a/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc b/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc
index e215f7f..c16c83e 100644
--- a/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc
+++ b/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc
@@ -153,9 +153,9 @@
 }
 
 RttBasedBackoff::RttBasedBackoff()
-    : rtt_limit_("limit", TimeDelta::PlusInfinity()),
-      drop_fraction_("fraction", 0.5),
-      drop_interval_("interval", TimeDelta::ms(300)),
+    : rtt_limit_("limit", TimeDelta::seconds(3)),
+      drop_fraction_("fraction", 0.8),
+      drop_interval_("interval", TimeDelta::seconds(1)),
       bandwidth_floor_("floor", DataRate::kbps(5)),
       // By initializing this to plus infinity, we make sure that we never
       // trigger rtt backoff unless packet feedback is enabled.
diff --git a/video/video_send_stream_tests.cc b/video/video_send_stream_tests.cc
index 28f6f33..0d51cbd 100644
--- a/video/video_send_stream_tests.cc
+++ b/video/video_send_stream_tests.cc
@@ -1175,7 +1175,7 @@
     }
     void ModifySenderBitrateConfig(
         BitrateConstraints* bitrate_config) override {
-      const int kMinBitrateBps = 30000;
+      const int kMinBitrateBps = 300000;
       bitrate_config->min_bitrate_bps = kMinBitrateBps;
     }
 
@@ -3500,6 +3500,13 @@
     const uint8_t num_temporal_layers_;
     const uint8_t num_spatial_layers_;
     const bool l_field_;
+
+   private:
+    void ModifySenderBitrateConfig(
+        BitrateConstraints* bitrate_config) override {
+      const int kMinBitrateBps = 300000;
+      bitrate_config->min_bitrate_bps = kMinBitrateBps;
+    }
   } test(num_temporal_layers, num_spatial_layers);
 
   RunBaseTest(&test);