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 a360e9cce3..d07bc34017 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc @@ -137,13 +137,8 @@ void GoogCcNetworkController::OnNetworkAvailability(NetworkAvailability msg) { void GoogCcNetworkController::OnNetworkRouteChange(NetworkRouteChange msg) { int64_t min_bitrate_bps = msg.constraints.min_data_rate.bps(); - int64_t max_bitrate_bps = -1; - int64_t start_bitrate_bps = -1; - - if (msg.constraints.max_data_rate.IsFinite()) - max_bitrate_bps = msg.constraints.max_data_rate.bps(); - if (msg.constraints.starting_rate.IsFinite()) - start_bitrate_bps = msg.constraints.starting_rate.bps(); + int64_t max_bitrate_bps = msg.constraints.max_data_rate.bps_or(-1); + int64_t start_bitrate_bps = msg.constraints.starting_rate.bps_or(-1); ClampBitrates(&start_bitrate_bps, &min_bitrate_bps, &max_bitrate_bps); @@ -216,13 +211,8 @@ void GoogCcNetworkController::OnStreamsConfig(StreamsConfig msg) { void GoogCcNetworkController::OnTargetRateConstraints( TargetRateConstraints constraints) { int64_t min_bitrate_bps = constraints.min_data_rate.bps(); - int64_t max_bitrate_bps = -1; - int64_t start_bitrate_bps = -1; - - if (constraints.max_data_rate.IsFinite()) - max_bitrate_bps = constraints.max_data_rate.bps(); - if (constraints.starting_rate.IsFinite()) - start_bitrate_bps = constraints.starting_rate.bps(); + int64_t max_bitrate_bps = constraints.max_data_rate.bps_or(-1); + int64_t start_bitrate_bps = constraints.starting_rate.bps_or(-1); ClampBitrates(&start_bitrate_bps, &min_bitrate_bps, &max_bitrate_bps); diff --git a/modules/congestion_controller/network_control/include/network_units.h b/modules/congestion_controller/network_control/include/network_units.h index ab7b4b25f3..81054f053c 100644 --- a/modules/congestion_controller/network_control/include/network_units.h +++ b/modules/congestion_controller/network_control/include/network_units.h @@ -285,6 +285,9 @@ class DataRate { } int64_t bytes_per_second() const { return bits_per_second() / 8; } int64_t bps() const { return bits_per_second(); } + int64_t bps_or(int64_t fallback) const { + return IsFinite() ? bits_per_second() : fallback; + } int64_t kbps() const { return units_internal::DivideAndRound(bps(), 1000); } bool IsZero() const { return bits_per_sec_ == 0; } bool IsInfinite() const {