From 2560e2e6940c315fb26d6b92f23d7da19077f2b3 Mon Sep 17 00:00:00 2001 From: Sebastian Jansson Date: Thu, 11 Oct 2018 20:17:22 +0200 Subject: [PATCH] Removes Clock instance from RoundRobinPacketQueue. Bug: webrtc:9870 Change-Id: I8d5b984bbc5e1dff53383be6c92589ad2b786ba8 Reviewed-on: https://webrtc-review.googlesource.com/c/105422 Reviewed-by: Niels Moller Commit-Queue: Sebastian Jansson Cr-Commit-Position: refs/heads/master@{#25194} --- modules/pacing/paced_sender.cc | 2 +- modules/pacing/round_robin_packet_queue.cc | 15 +++++++-------- modules/pacing/round_robin_packet_queue.h | 4 ++-- 3 files changed, 10 insertions(+), 11 deletions(-) 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_;