diff --git a/modules/pacing/interval_budget.cc b/modules/pacing/interval_budget.cc index 9fe0563e35..321ca46be4 100644 --- a/modules/pacing/interval_budget.cc +++ b/modules/pacing/interval_budget.cc @@ -16,7 +16,7 @@ namespace webrtc { namespace { -constexpr int kWindowMs = 500; +constexpr int64_t kWindowMs = 500; } IntervalBudget::IntervalBudget(int initial_target_rate_kbps) @@ -36,7 +36,7 @@ void IntervalBudget::set_target_rate_kbps(int target_rate_kbps) { } void IntervalBudget::IncreaseBudget(int64_t delta_time_ms) { - int bytes = rtc::dchecked_cast(target_rate_kbps_ * delta_time_ms / 8); + int64_t bytes = target_rate_kbps_ * delta_time_ms / 8; if (bytes_remaining_ < 0 || can_build_up_underuse_) { // We overused last interval, compensate this interval. bytes_remaining_ = std::min(bytes_remaining_ + bytes, max_bytes_in_budget_); @@ -52,7 +52,7 @@ void IntervalBudget::UseBudget(size_t bytes) { } size_t IntervalBudget::bytes_remaining() const { - return static_cast(std::max(0, bytes_remaining_)); + return rtc::saturated_cast(std::max(0, bytes_remaining_)); } double IntervalBudget::budget_ratio() const { diff --git a/modules/pacing/interval_budget.h b/modules/pacing/interval_budget.h index 43f38677e4..faeb1d8fc4 100644 --- a/modules/pacing/interval_budget.h +++ b/modules/pacing/interval_budget.h @@ -34,8 +34,8 @@ class IntervalBudget { private: int target_rate_kbps_; - int max_bytes_in_budget_; - int bytes_remaining_; + int64_t max_bytes_in_budget_; + int64_t bytes_remaining_; bool can_build_up_underuse_; };