Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Unified Diff: webrtc/modules/pacing/paced_sender.cc

Issue 2997883002: Video/Screenshare loopback tool.
Patch Set: Rebase Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/pacing/paced_sender.cc
diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc
index d0a8864f14bcafeb64f2e205efdf76a316975025..a4705d26a405f37ee6966522d26e183159cd42a9 100644
--- a/webrtc/modules/pacing/paced_sender.cc
+++ b/webrtc/modules/pacing/paced_sender.cc
@@ -16,6 +16,7 @@
#include <set>
#include <vector>
+#include "webrtc/logging/rtc_event_log/rtc_event_log.h"
#include "webrtc/modules/include/module_common_types.h"
#include "webrtc/modules/pacing/alr_detector.h"
#include "webrtc/modules/pacing/bitrate_prober.h"
@@ -95,12 +96,13 @@ struct Comparator {
// Class encapsulating a priority queue with some extensions.
class PacketQueue {
public:
- explicit PacketQueue(const Clock* clock)
+ explicit PacketQueue(const Clock* clock, RtcEventLog* event_log = nullptr)
: bytes_(0),
clock_(clock),
queue_time_sum_(0),
time_last_updated_(clock_->TimeInMilliseconds()),
- paused_(false) {}
+ paused_(false),
+ event_log_(event_log) {}
virtual ~PacketQueue() {}
void Push(const Packet& packet) {
@@ -139,6 +141,8 @@ class PacketQueue {
RTC_DCHECK_EQ(packet_list_.size(), prio_queue_.size());
if (packet_list_.empty())
RTC_DCHECK_EQ(0, queue_time_sum_);
+ if (event_log_ && !packet.retransmission)
+ event_log_->LogPacketQueueTime(packet.ssrc, packet_queue_time_ms);
}
bool Empty() const { return prio_queue_.empty(); }
@@ -229,6 +233,7 @@ class PacketQueue {
int64_t queue_time_sum_;
int64_t time_last_updated_;
bool paused_;
+ RtcEventLog* event_log_;
};
} // namespace paced_sender
@@ -241,7 +246,7 @@ PacedSender::PacedSender(const Clock* clock,
RtcEventLog* event_log)
: clock_(clock),
packet_sender_(packet_sender),
- alr_detector_(new AlrDetector()),
+ alr_detector_(new AlrDetector(event_log)),
paused_(false),
media_budget_(new IntervalBudget(0)),
padding_budget_(new IntervalBudget(0)),
@@ -253,7 +258,7 @@ PacedSender::PacedSender(const Clock* clock,
pacing_bitrate_kbps_(0),
time_last_update_us_(clock->TimeInMicroseconds()),
first_sent_packet_ms_(-1),
- packets_(new paced_sender::PacketQueue(clock)),
+ packets_(new paced_sender::PacketQueue(clock, event_log)),
packet_counter_(0),
pacing_factor_(kDefaultPaceMultiplier),
queue_time_limit(kMaxQueueLengthMs) {
@@ -321,7 +326,7 @@ void PacedSender::SetSendBitrateLimits(int min_send_bitrate_bps,
pacing_bitrate_kbps_ =
std::max(min_send_bitrate_kbps_, estimated_bitrate_bps_ / 1000) *
pacing_factor_;
- max_padding_bitrate_kbps_ = padding_bitrate / 1000;
+ max_padding_bitrate_kbps_ = 0; // padding_bitrate / 1000;
padding_budget_->set_target_rate_kbps(
std::min(estimated_bitrate_bps_ / 1000, max_padding_bitrate_kbps_));
}
@@ -437,7 +442,8 @@ void PacedSender::Process() {
target_bitrate_kbps = min_bitrate_needed_kbps;
}
- media_budget_->set_target_rate_kbps(target_bitrate_kbps);
+ media_budget_->set_target_rate_kbps(pacing_bitrate_kbps_);
+ // media_budget_->set_target_rate_kbps(target_bitrate_kbps);
UpdateBudgetWithElapsedTime(elapsed_time_ms);
}
« no previous file with comments | « webrtc/modules/pacing/interval_budget.cc ('k') | webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698