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()),
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),

View File

@ -13,7 +13,6 @@
#include <algorithm>
#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) {

View File

@ -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<Packet> pop_packet_;
absl::optional<Stream*> pop_stream_;