From 9d4af0130ee94364801945973095ed2a598a846b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Tue, 31 Oct 2017 09:54:50 +0100 Subject: [PATCH] New PacedSender constructor with injected PacketQueue Intended to enable unit testing of the pacer with a mock PacketQueue. Bug: webrtc:8422 Change-Id: I142386b2d91ad0d5ba8f3f9d876e67972c490de4 Reviewed-on: https://webrtc-review.googlesource.com/17300 Reviewed-by: Philip Eliasson Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/master@{#20498} --- modules/pacing/paced_sender.cc | 16 ++++++++++++---- modules/pacing/paced_sender.h | 5 +++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/modules/pacing/paced_sender.cc b/modules/pacing/paced_sender.cc index 8a5edf1ae1..319d44129c 100644 --- a/modules/pacing/paced_sender.cc +++ b/modules/pacing/paced_sender.cc @@ -15,6 +15,7 @@ #include #include #include +#include #include "modules/include/module_common_types.h" #include "modules/pacing/alr_detector.h" @@ -45,7 +46,16 @@ const float PacedSender::kDefaultPaceMultiplier = 2.5f; PacedSender::PacedSender(const Clock* clock, PacketSender* packet_sender, - RtcEventLog* event_log) + RtcEventLog* event_log) : + PacedSender(clock, packet_sender, event_log, + webrtc::field_trial::IsEnabled("WebRTC-RoundRobinPacing") + ? rtc::MakeUnique(clock) + : rtc::MakeUnique(clock)) {} + +PacedSender::PacedSender(const Clock* clock, + PacketSender* packet_sender, + RtcEventLog* event_log, + std::unique_ptr packets) : clock_(clock), packet_sender_(packet_sender), alr_detector_(rtc::MakeUnique()), @@ -60,9 +70,7 @@ PacedSender::PacedSender(const Clock* clock, pacing_bitrate_kbps_(0), time_last_update_us_(clock->TimeInMicroseconds()), first_sent_packet_ms_(-1), - packets_(webrtc::field_trial::IsEnabled("WebRTC-RoundRobinPacing") - ? rtc::MakeUnique(clock) - : rtc::MakeUnique(clock)), + packets_(std::move(packets)), packet_counter_(0), pacing_factor_(kDefaultPaceMultiplier), queue_time_limit(kMaxQueueLengthMs), diff --git a/modules/pacing/paced_sender.h b/modules/pacing/paced_sender.h index b92ee3a8ce..c1090ecbc0 100644 --- a/modules/pacing/paced_sender.h +++ b/modules/pacing/paced_sender.h @@ -66,6 +66,11 @@ class PacedSender : public Pacer { PacketSender* packet_sender, RtcEventLog* event_log); + PacedSender(const Clock* clock, + PacketSender* packet_sender, + RtcEventLog* event_log, + std::unique_ptr packets); + ~PacedSender() override; virtual void CreateProbeCluster(int bitrate_bps);