From a23dc78c7d5cc2c5e42954a9195ecc84c3d3fbab Mon Sep 17 00:00:00 2001 From: Sebastian Jansson Date: Fri, 5 Oct 2018 16:56:55 +0200 Subject: [PATCH] Removes initial window field trial. Bug: webrtc:9718 Change-Id: Ia1cc352bde1d8994cce7eb7e3bdcbc04e03fd718 Reviewed-on: https://webrtc-review.googlesource.com/c/104041 Reviewed-by: Christoffer Rodbro Commit-Queue: Sebastian Jansson Cr-Commit-Position: refs/heads/master@{#25025} --- .../goog_cc/goog_cc_network_control.cc | 30 +------------------ .../goog_cc/goog_cc_network_control.h | 17 ----------- 2 files changed, 1 insertion(+), 46 deletions(-) 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 44e119dc6f..7ad65ce67b 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc @@ -114,15 +114,6 @@ int64_t GetBpsOrDefault(const absl::optional& rate, } // namespace -InitialDataWindowConfig::InitialDataWindowConfig() - : size("size", DataSize::Infinity()), exit_rate_factor("rate", 1.0) { - std::string trial_string = - field_trial::FindFullName("WebRTC-Bwe-InitialDataWindow"); - ParseFieldTrial({&size, &exit_rate_factor}, trial_string); -} -InitialDataWindowConfig::InitialDataWindowConfig( - const InitialDataWindowConfig&) = default; -InitialDataWindowConfig::~InitialDataWindowConfig() = default; GoogCcNetworkController::GoogCcNetworkController(RtcEventLog* event_log, NetworkControllerConfig config, @@ -137,7 +128,6 @@ GoogCcNetworkController::GoogCcNetworkController(RtcEventLog* event_log, acknowledged_bitrate_estimator_( absl::make_unique()), initial_config_(config), - initial_data_window_(InitialDataWindowConfig()), last_bandwidth_(*config.constraints.starting_rate), pacing_factor_(config.stream_based_config.pacing_factor.value_or( kDefaultPaceMultiplier)), @@ -259,15 +249,7 @@ NetworkControlUpdate GoogCcNetworkController::OnSentPacket( SentPacket sent_packet) { alr_detector_->OnBytesSent(sent_packet.size.bytes(), sent_packet.send_time.ms()); - if (initial_state_ == InitialState::kWaitingForEstimate && - sent_packet.data_in_flight > initial_data_window_.size) { - initial_state_ = InitialState::kWindowFullWaitingForEstimate; - NetworkControlUpdate update; - MaybeTriggerOnNetworkChanged(&update, sent_packet.send_time); - return update; - } else { - return NetworkControlUpdate(); - } + return NetworkControlUpdate(); } NetworkControlUpdate GoogCcNetworkController::OnStreamsConfig( @@ -422,13 +404,6 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback( received_feedback_vector, acknowledged_bitrate, report.feedback_time.ms()); - if (acknowledged_bitrate || result.probe) { - if (initial_state_ == InitialState::kWindowFullWaitingForEstimate) - delay_based_bwe_->SetStartBitrate(result.target_bitrate_bps * - initial_data_window_.exit_rate_factor); - initial_state_ = InitialState::kReceivedEstimate; - } - NetworkControlUpdate update; if (result.updated) { if (result.probe) { @@ -503,9 +478,6 @@ void GoogCcNetworkController::MaybeTriggerOnNetworkChanged( estimated_bitrate_bps = std::max( estimated_bitrate_bps, bandwidth_estimation_->GetMinBitrate()); - if (initial_state_ == InitialState::kWindowFullWaitingForEstimate) - estimated_bitrate_bps = bandwidth_estimation_->GetMinBitrate(); - BWE_TEST_LOGGING_PLOT(1, "fraction_loss_%", at_time.ms(), (fraction_loss * 100) / 256); BWE_TEST_LOGGING_PLOT(1, "rtt_ms", at_time.ms(), rtt_ms); 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 a8c5c83629..f7efda3962 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control.h +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.h @@ -25,18 +25,9 @@ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h" #include "modules/congestion_controller/goog_cc/probe_controller.h" #include "rtc_base/constructormagic.h" -#include "rtc_base/experiments/field_trial_parser.h" -#include "rtc_base/experiments/field_trial_units.h" namespace webrtc { -struct InitialDataWindowConfig { - InitialDataWindowConfig(); - InitialDataWindowConfig(const InitialDataWindowConfig&); - ~InitialDataWindowConfig(); - FieldTrialParameter size; - FieldTrialParameter exit_rate_factor; -}; class GoogCcNetworkController : public NetworkControllerInterface { public: @@ -63,11 +54,6 @@ class GoogCcNetworkController : public NetworkControllerInterface { private: friend class GoogCcStatePrinter; - enum class InitialState { - kWaitingForEstimate, - kWindowFullWaitingForEstimate, - kReceivedEstimate - }; std::vector UpdateBitrateConstraints( TargetRateConstraints constraints, absl::optional starting_rate); @@ -87,9 +73,6 @@ class GoogCcNetworkController : public NetworkControllerInterface { absl::optional initial_config_; - const InitialDataWindowConfig initial_data_window_; - InitialState initial_state_ = InitialState::kWaitingForEstimate; - Timestamp next_loss_update_ = Timestamp::MinusInfinity(); int lost_packets_since_last_loss_update_ = 0; int expected_packets_since_last_loss_update_ = 0;