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);