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:

committed by
Commit Bot

parent
1927dfafab
commit
2560e2e694
@ -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),
|
||||||
|
@ -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) {
|
||||||
|
@ -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_;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user