Remove WebRTC-Bwe-CongestionWindowDownlinkDelay.

Bug: webrtc:11143
Change-Id: Iaf89758de7d2a58f6e1c88293f38c5eff1a78583
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160787
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29956}
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
index 25cdee6..04bbd26 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
@@ -67,9 +67,6 @@
       packet_feedback_only_(goog_cc_config.feedback_only),
       safe_reset_on_route_change_("Enabled"),
       safe_reset_acknowledged_rate_("ack"),
-      use_downlink_delay_for_congestion_window_(
-          IsEnabled(key_value_config_,
-                    "WebRTC-Bwe-CongestionWindowDownlinkDelay")),
       use_min_allocatable_as_lower_bound_(
           IsNotDisabled(key_value_config_, "WebRTC-Bwe-MinAllocAsLowerBound")),
       ignore_probes_lower_than_network_estimate_(
@@ -199,9 +196,8 @@
                                       probes.begin(), probes.end());
 
   if (rate_control_settings_.UseCongestionWindow() &&
-      use_downlink_delay_for_congestion_window_ &&
       last_packet_received_time_.IsFinite() && !feedback_max_rtts_.empty()) {
-    UpdateCongestionWindowSize(msg.at_time - last_packet_received_time_);
+    UpdateCongestionWindowSize();
   }
   if (congestion_window_pushback_controller_ && current_data_window_) {
     congestion_window_pushback_controller_->SetDataWindow(
@@ -371,8 +367,7 @@
   return NetworkControlUpdate();
 }
 
-void GoogCcNetworkController::UpdateCongestionWindowSize(
-    TimeDelta time_since_last_packet) {
+void GoogCcNetworkController::UpdateCongestionWindowSize() {
   TimeDelta min_feedback_max_rtt = TimeDelta::ms(
       *std::min_element(feedback_max_rtts_.begin(), feedback_max_rtts_.end()));
 
@@ -382,10 +377,6 @@
       TimeDelta::ms(
           rate_control_settings_.GetCongestionWindowAdditionalTimeMs());
 
-  if (use_downlink_delay_for_congestion_window_) {
-    time_window += time_since_last_packet;
-  }
-
   DataSize data_window = last_loss_based_target_rate_ * time_window;
   if (current_data_window_) {
     data_window =
@@ -552,7 +543,7 @@
   // we don't try to limit the outstanding packets.
   if (rate_control_settings_.UseCongestionWindow() &&
       max_feedback_rtt.IsFinite()) {
-    UpdateCongestionWindowSize(/*time_since_last_packet*/ TimeDelta::Zero());
+    UpdateCongestionWindowSize();
   }
   if (congestion_window_pushback_controller_ && current_data_window_) {
     congestion_window_pushback_controller_->SetDataWindow(
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.h b/modules/congestion_controller/goog_cc/goog_cc_network_control.h
index 5b3ae94..f8970c8 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.h
@@ -76,7 +76,7 @@
   void ClampConstraints();
   void MaybeTriggerOnNetworkChanged(NetworkControlUpdate* update,
                                     Timestamp at_time);
-  void UpdateCongestionWindowSize(TimeDelta time_since_last_packet);
+  void UpdateCongestionWindowSize();
   PacerConfig GetPacingRates(Timestamp at_time) const;
   const FieldTrialBasedConfig trial_based_config_;
 
@@ -85,7 +85,6 @@
   const bool packet_feedback_only_;
   FieldTrialFlag safe_reset_on_route_change_;
   FieldTrialFlag safe_reset_acknowledged_rate_;
-  const bool use_downlink_delay_for_congestion_window_;
   const bool use_min_allocatable_as_lower_bound_;
   const bool ignore_probes_lower_than_network_estimate_;
   const RateControlSettings rate_control_settings_;
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 885bdab..c6537aa 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,42 +378,6 @@
   EXPECT_NEAR(client->padding_rate().kbps(), client->target_rate().kbps(), 1);
 }
 
-TEST_F(GoogCcNetworkControllerTest, CongestionWindowPushBackOnSendDelaySpike) {
-  ScopedFieldTrials trial(
-      "WebRTC-CongestionWindow/QueueSize:800,MinBitrate:30000/"
-      "WebRTC-Bwe-CongestionWindowDownlinkDelay/Enabled/");
-  Scenario s("googcc_unit/cwnd_actives_no_feedback", false);
-  NetworkSimulationConfig net_conf;
-  net_conf.bandwidth = DataRate::kbps(1000);
-  net_conf.delay = TimeDelta::ms(100);
-  auto send_net = s.CreateMutableSimulationNode(net_conf);
-  auto ret_net = s.CreateSimulationNode(net_conf);
-
-  auto* client = s.CreateClient("sender", CallClientConfig());
-  auto* route =
-      s.CreateRoutes(client, {send_net->node()},
-                     s.CreateClient("return", CallClientConfig()), {ret_net});
-
-  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));
-  // Send being down triggers congestion window pushback.
-  send_net->PauseTransmissionUntil(s.Now() + TimeDelta::seconds(10));
-  s.RunFor(TimeDelta::seconds(3));
-
-  // Expect the target rate to be reduced rapidly due to congestion.
-  // We would expect things to be at 30kbps, the min bitrate. Note
-  // that the congestion window still gets activated since we are
-  // receiving packets upstream.
-  EXPECT_LT(client->target_rate().kbps(), 100);
-  EXPECT_GE(client->target_rate().kbps(), 30);
-}
-
 TEST_F(GoogCcNetworkControllerTest, LimitsToFloorIfRttIsHighInTrial) {
   // The field trial limits maximum RTT to 2 seconds, higher RTT means that the
   // controller backs off until it reaches the minimum configured bitrate. This