Removes initial window field trial.
Bug: webrtc:9718 Change-Id: Ia1cc352bde1d8994cce7eb7e3bdcbc04e03fd718 Reviewed-on: https://webrtc-review.googlesource.com/c/104041 Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org> Commit-Queue: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25025}
This commit is contained in:

committed by
Commit Bot

parent
a6471eb589
commit
a23dc78c7d
@ -114,15 +114,6 @@ int64_t GetBpsOrDefault(const absl::optional<DataRate>& rate,
|
|||||||
|
|
||||||
} // namespace
|
} // 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,
|
GoogCcNetworkController::GoogCcNetworkController(RtcEventLog* event_log,
|
||||||
NetworkControllerConfig config,
|
NetworkControllerConfig config,
|
||||||
@ -137,7 +128,6 @@ GoogCcNetworkController::GoogCcNetworkController(RtcEventLog* event_log,
|
|||||||
acknowledged_bitrate_estimator_(
|
acknowledged_bitrate_estimator_(
|
||||||
absl::make_unique<AcknowledgedBitrateEstimator>()),
|
absl::make_unique<AcknowledgedBitrateEstimator>()),
|
||||||
initial_config_(config),
|
initial_config_(config),
|
||||||
initial_data_window_(InitialDataWindowConfig()),
|
|
||||||
last_bandwidth_(*config.constraints.starting_rate),
|
last_bandwidth_(*config.constraints.starting_rate),
|
||||||
pacing_factor_(config.stream_based_config.pacing_factor.value_or(
|
pacing_factor_(config.stream_based_config.pacing_factor.value_or(
|
||||||
kDefaultPaceMultiplier)),
|
kDefaultPaceMultiplier)),
|
||||||
@ -259,15 +249,7 @@ NetworkControlUpdate GoogCcNetworkController::OnSentPacket(
|
|||||||
SentPacket sent_packet) {
|
SentPacket sent_packet) {
|
||||||
alr_detector_->OnBytesSent(sent_packet.size.bytes(),
|
alr_detector_->OnBytesSent(sent_packet.size.bytes(),
|
||||||
sent_packet.send_time.ms());
|
sent_packet.send_time.ms());
|
||||||
if (initial_state_ == InitialState::kWaitingForEstimate &&
|
return NetworkControlUpdate();
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkControlUpdate GoogCcNetworkController::OnStreamsConfig(
|
NetworkControlUpdate GoogCcNetworkController::OnStreamsConfig(
|
||||||
@ -422,13 +404,6 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback(
|
|||||||
received_feedback_vector, acknowledged_bitrate,
|
received_feedback_vector, acknowledged_bitrate,
|
||||||
report.feedback_time.ms());
|
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;
|
NetworkControlUpdate update;
|
||||||
if (result.updated) {
|
if (result.updated) {
|
||||||
if (result.probe) {
|
if (result.probe) {
|
||||||
@ -503,9 +478,6 @@ void GoogCcNetworkController::MaybeTriggerOnNetworkChanged(
|
|||||||
estimated_bitrate_bps = std::max<int32_t>(
|
estimated_bitrate_bps = std::max<int32_t>(
|
||||||
estimated_bitrate_bps, bandwidth_estimation_->GetMinBitrate());
|
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(),
|
BWE_TEST_LOGGING_PLOT(1, "fraction_loss_%", at_time.ms(),
|
||||||
(fraction_loss * 100) / 256);
|
(fraction_loss * 100) / 256);
|
||||||
BWE_TEST_LOGGING_PLOT(1, "rtt_ms", at_time.ms(), rtt_ms);
|
BWE_TEST_LOGGING_PLOT(1, "rtt_ms", at_time.ms(), rtt_ms);
|
||||||
|
@ -25,18 +25,9 @@
|
|||||||
#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
|
#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
|
||||||
#include "modules/congestion_controller/goog_cc/probe_controller.h"
|
#include "modules/congestion_controller/goog_cc/probe_controller.h"
|
||||||
#include "rtc_base/constructormagic.h"
|
#include "rtc_base/constructormagic.h"
|
||||||
#include "rtc_base/experiments/field_trial_parser.h"
|
|
||||||
#include "rtc_base/experiments/field_trial_units.h"
|
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
struct InitialDataWindowConfig {
|
|
||||||
InitialDataWindowConfig();
|
|
||||||
InitialDataWindowConfig(const InitialDataWindowConfig&);
|
|
||||||
~InitialDataWindowConfig();
|
|
||||||
FieldTrialParameter<DataSize> size;
|
|
||||||
FieldTrialParameter<double> exit_rate_factor;
|
|
||||||
};
|
|
||||||
|
|
||||||
class GoogCcNetworkController : public NetworkControllerInterface {
|
class GoogCcNetworkController : public NetworkControllerInterface {
|
||||||
public:
|
public:
|
||||||
@ -63,11 +54,6 @@ class GoogCcNetworkController : public NetworkControllerInterface {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
friend class GoogCcStatePrinter;
|
friend class GoogCcStatePrinter;
|
||||||
enum class InitialState {
|
|
||||||
kWaitingForEstimate,
|
|
||||||
kWindowFullWaitingForEstimate,
|
|
||||||
kReceivedEstimate
|
|
||||||
};
|
|
||||||
std::vector<ProbeClusterConfig> UpdateBitrateConstraints(
|
std::vector<ProbeClusterConfig> UpdateBitrateConstraints(
|
||||||
TargetRateConstraints constraints,
|
TargetRateConstraints constraints,
|
||||||
absl::optional<DataRate> starting_rate);
|
absl::optional<DataRate> starting_rate);
|
||||||
@ -87,9 +73,6 @@ class GoogCcNetworkController : public NetworkControllerInterface {
|
|||||||
|
|
||||||
absl::optional<NetworkControllerConfig> initial_config_;
|
absl::optional<NetworkControllerConfig> initial_config_;
|
||||||
|
|
||||||
const InitialDataWindowConfig initial_data_window_;
|
|
||||||
InitialState initial_state_ = InitialState::kWaitingForEstimate;
|
|
||||||
|
|
||||||
Timestamp next_loss_update_ = Timestamp::MinusInfinity();
|
Timestamp next_loss_update_ = Timestamp::MinusInfinity();
|
||||||
int lost_packets_since_last_loss_update_ = 0;
|
int lost_packets_since_last_loss_update_ = 0;
|
||||||
int expected_packets_since_last_loss_update_ = 0;
|
int expected_packets_since_last_loss_update_ = 0;
|
||||||
|
Reference in New Issue
Block a user