diff --git a/modules/pacing/paced_sender.cc b/modules/pacing/paced_sender.cc index 42af87bef3..3b0dc199d6 100644 --- a/modules/pacing/paced_sender.cc +++ b/modules/pacing/paced_sender.cc @@ -69,7 +69,7 @@ PacedSender::PacedSender(const Clock* clock, time_last_process_us_(clock->TimeInMicroseconds()), last_send_time_us_(clock->TimeInMicroseconds()), first_sent_packet_ms_(-1), - packets_(clock), + packets_(clock->TimeInMicroseconds()), packet_counter_(0), pacing_factor_(kDefaultPaceMultiplier), queue_time_limit(kMaxQueueLengthMs), diff --git a/modules/pacing/round_robin_packet_queue.cc b/modules/pacing/round_robin_packet_queue.cc index e892ddb4ea..cfdf60a2dd 100644 --- a/modules/pacing/round_robin_packet_queue.cc +++ b/modules/pacing/round_robin_packet_queue.cc @@ -13,7 +13,6 @@ #include #include "rtc_base/checks.h" -#include "system_wrappers/include/clock.h" namespace webrtc { @@ -53,8 +52,8 @@ RoundRobinPacketQueue::Stream::Stream() : bytes(0), ssrc(0) {} RoundRobinPacketQueue::Stream::Stream(const Stream& stream) = default; RoundRobinPacketQueue::Stream::~Stream() {} -RoundRobinPacketQueue::RoundRobinPacketQueue(const Clock* clock) - : time_last_updated_(clock->TimeInMilliseconds()) {} +RoundRobinPacketQueue::RoundRobinPacketQueue(int64_t start_time_us) + : time_last_updated_ms_(start_time_us / 1000) {} RoundRobinPacketQueue::~RoundRobinPacketQueue() {} @@ -132,7 +131,7 @@ void RoundRobinPacketQueue::FinalizePop(const Packet& packet) { // by subtracting it now we effectively remove the time spent in in the // queue while in a paused state. int64_t time_in_non_paused_state_ms = - time_last_updated_ - packet.enqueue_time_ms - pause_time_sum_ms_; + time_last_updated_ms_ - packet.enqueue_time_ms - pause_time_sum_ms_; queue_time_sum_ms_ -= time_in_non_paused_state_ms; RTC_CHECK(packet.enqueue_time_it != enqueue_times_.end()); @@ -189,11 +188,11 @@ int64_t RoundRobinPacketQueue::OldestEnqueueTimeMs() const { } void RoundRobinPacketQueue::UpdateQueueTime(int64_t timestamp_ms) { - RTC_CHECK_GE(timestamp_ms, time_last_updated_); - if (timestamp_ms == time_last_updated_) + RTC_CHECK_GE(timestamp_ms, time_last_updated_ms_); + if (timestamp_ms == time_last_updated_ms_) return; - int64_t delta_ms = timestamp_ms - time_last_updated_; + int64_t delta_ms = timestamp_ms - time_last_updated_ms_; if (paused_) { pause_time_sum_ms_ += delta_ms; @@ -201,7 +200,7 @@ void RoundRobinPacketQueue::UpdateQueueTime(int64_t timestamp_ms) { queue_time_sum_ms_ += delta_ms * size_packets_; } - time_last_updated_ = timestamp_ms; + time_last_updated_ms_ = timestamp_ms; } void RoundRobinPacketQueue::SetPauseState(bool paused, int64_t timestamp_ms) { diff --git a/modules/pacing/round_robin_packet_queue.h b/modules/pacing/round_robin_packet_queue.h index ee91e2efc0..f8133ef780 100644 --- a/modules/pacing/round_robin_packet_queue.h +++ b/modules/pacing/round_robin_packet_queue.h @@ -22,7 +22,7 @@ namespace webrtc { class RoundRobinPacketQueue { public: - explicit RoundRobinPacketQueue(const Clock* clock); + explicit RoundRobinPacketQueue(int64_t start_time_us); ~RoundRobinPacketQueue(); struct Packet { @@ -105,7 +105,7 @@ class RoundRobinPacketQueue { // Just used to verify correctness. bool IsSsrcScheduled(uint32_t ssrc) const; - int64_t time_last_updated_; + int64_t time_last_updated_ms_; absl::optional pop_packet_; absl::optional pop_stream_;