Removes Clock instance from RoundRobinPacketQueue.

Bug: webrtc:9870
Change-Id: I8d5b984bbc5e1dff53383be6c92589ad2b786ba8
Reviewed-on: https://webrtc-review.googlesource.com/c/105422
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25194}
This commit is contained in:
Sebastian Jansson
2018-10-11 20:17:22 +02:00
committed by Commit Bot
parent 1927dfafab
commit 2560e2e694
3 changed files with 10 additions and 11 deletions

View File

@ -69,7 +69,7 @@ PacedSender::PacedSender(const Clock* clock,
time_last_process_us_(clock->TimeInMicroseconds()), time_last_process_us_(clock->TimeInMicroseconds()),
last_send_time_us_(clock->TimeInMicroseconds()), last_send_time_us_(clock->TimeInMicroseconds()),
first_sent_packet_ms_(-1), first_sent_packet_ms_(-1),
packets_(clock), packets_(clock->TimeInMicroseconds()),
packet_counter_(0), packet_counter_(0),
pacing_factor_(kDefaultPaceMultiplier), pacing_factor_(kDefaultPaceMultiplier),
queue_time_limit(kMaxQueueLengthMs), queue_time_limit(kMaxQueueLengthMs),

View File

@ -13,7 +13,6 @@
#include <algorithm> #include <algorithm>
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
#include "system_wrappers/include/clock.h"
namespace webrtc { namespace webrtc {
@ -53,8 +52,8 @@ RoundRobinPacketQueue::Stream::Stream() : bytes(0), ssrc(0) {}
RoundRobinPacketQueue::Stream::Stream(const Stream& stream) = default; RoundRobinPacketQueue::Stream::Stream(const Stream& stream) = default;
RoundRobinPacketQueue::Stream::~Stream() {} RoundRobinPacketQueue::Stream::~Stream() {}
RoundRobinPacketQueue::RoundRobinPacketQueue(const Clock* clock) RoundRobinPacketQueue::RoundRobinPacketQueue(int64_t start_time_us)
: time_last_updated_(clock->TimeInMilliseconds()) {} : time_last_updated_ms_(start_time_us / 1000) {}
RoundRobinPacketQueue::~RoundRobinPacketQueue() {} 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 // by subtracting it now we effectively remove the time spent in in the
// queue while in a paused state. // queue while in a paused state.
int64_t time_in_non_paused_state_ms = 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; queue_time_sum_ms_ -= time_in_non_paused_state_ms;
RTC_CHECK(packet.enqueue_time_it != enqueue_times_.end()); 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) { void RoundRobinPacketQueue::UpdateQueueTime(int64_t timestamp_ms) {
RTC_CHECK_GE(timestamp_ms, time_last_updated_); RTC_CHECK_GE(timestamp_ms, time_last_updated_ms_);
if (timestamp_ms == time_last_updated_) if (timestamp_ms == time_last_updated_ms_)
return; return;
int64_t delta_ms = timestamp_ms - time_last_updated_; int64_t delta_ms = timestamp_ms - time_last_updated_ms_;
if (paused_) { if (paused_) {
pause_time_sum_ms_ += delta_ms; 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_; 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) { void RoundRobinPacketQueue::SetPauseState(bool paused, int64_t timestamp_ms) {

View File

@ -22,7 +22,7 @@ namespace webrtc {
class RoundRobinPacketQueue { class RoundRobinPacketQueue {
public: public:
explicit RoundRobinPacketQueue(const Clock* clock); explicit RoundRobinPacketQueue(int64_t start_time_us);
~RoundRobinPacketQueue(); ~RoundRobinPacketQueue();
struct Packet { struct Packet {
@ -105,7 +105,7 @@ class RoundRobinPacketQueue {
// Just used to verify correctness. // Just used to verify correctness.
bool IsSsrcScheduled(uint32_t ssrc) const; bool IsSsrcScheduled(uint32_t ssrc) const;
int64_t time_last_updated_; int64_t time_last_updated_ms_;
absl::optional<Packet> pop_packet_; absl::optional<Packet> pop_packet_;
absl::optional<Stream*> pop_stream_; absl::optional<Stream*> pop_stream_;