diff --git a/modules/pacing/pacing_controller.cc b/modules/pacing/pacing_controller.cc index 54a2f7a55e..13ff9a2a95 100644 --- a/modules/pacing/pacing_controller.cc +++ b/modules/pacing/pacing_controller.cc @@ -164,7 +164,6 @@ void PacingController::SetProbingEnabled(bool enabled) { void PacingController::SetPacingRates(DataRate pacing_rate, DataRate padding_rate) { - static constexpr DataRate kMaxRate = DataRate::KilobitsPerSec(100'000); RTC_CHECK_GT(pacing_rate, DataRate::Zero()); RTC_CHECK_GE(padding_rate, DataRate::Zero()); if (padding_rate > pacing_rate) { @@ -174,11 +173,12 @@ void PacingController::SetPacingRates(DataRate pacing_rate, padding_rate = pacing_rate; } - if (pacing_rate > kMaxRate || padding_rate > kMaxRate) { - RTC_LOG(LS_WARNING) << "Very high pacing rates ( > " << kMaxRate.kbps() + if (pacing_rate > max_rate || padding_rate > max_rate) { + RTC_LOG(LS_WARNING) << "Very high pacing rates ( > " << max_rate.kbps() << " kbps) configured: pacing = " << pacing_rate.kbps() << " kbps, padding = " << padding_rate.kbps() << " kbps."; + max_rate = std::max(pacing_rate, padding_rate) * 1.1; } pacing_rate_ = pacing_rate; padding_rate_ = padding_rate; diff --git a/modules/pacing/pacing_controller.h b/modules/pacing/pacing_controller.h index 0a138c1a64..dd5636ccef 100644 --- a/modules/pacing/pacing_controller.h +++ b/modules/pacing/pacing_controller.h @@ -214,7 +214,7 @@ class PacingController { const bool ignore_transport_overhead_; const bool fast_retransmissions_; const bool keyframe_flushing_; - + DataRate max_rate = DataRate::BitsPerSec(100'000'000); DataSize transport_overhead_per_packet_; TimeDelta send_burst_interval_;