Switch from RtpPacketSender to RtpPacketPacer interface usage.
RtpPacketSender interface will be removed when downstream projects have
been updated.
Bug: webrtc:10633
Change-Id: Ie127b9814f39bd213d00ded0f7b98380f2f01084
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143175
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28350}
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 0404640..f8b94ca 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -259,7 +259,7 @@
nullptr;
const std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_;
const std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_;
- const std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_;
+ const std::unique_ptr<RtpPacketSenderProxy> rtp_packet_pacer_proxy_;
const std::unique_ptr<RateLimiter> retransmission_rate_limiter_;
rtc::ThreadChecker construction_thread_;
@@ -364,14 +364,19 @@
TransportSequenceNumberAllocator* seq_num_allocator_ RTC_GUARDED_BY(&crit_);
};
-class RtpPacketSenderProxy : public RtpPacketSender {
+class RtpPacketSenderProxy : public RtpPacketPacer {
public:
- RtpPacketSenderProxy() : rtp_packet_sender_(nullptr) {}
+ RtpPacketSenderProxy() : rtp_packet_pacer_(nullptr) {}
- void SetPacketSender(RtpPacketSender* rtp_packet_sender) {
+ void SetPacketPacer(RtpPacketPacer* rtp_packet_pacer) {
RTC_DCHECK(thread_checker_.IsCurrent());
rtc::CritScope lock(&crit_);
- rtp_packet_sender_ = rtp_packet_sender;
+ rtp_packet_pacer_ = rtp_packet_pacer;
+ }
+
+ void EnqueuePacket(std::unique_ptr<RtpPacketToSend> packet) override {
+ rtc::CritScope lock(&crit_);
+ rtp_packet_pacer_->EnqueuePacket(std::move(packet));
}
// Implements RtpPacketSender.
@@ -382,9 +387,9 @@
size_t bytes,
bool retransmission) override {
rtc::CritScope lock(&crit_);
- if (rtp_packet_sender_) {
- rtp_packet_sender_->InsertPacket(priority, ssrc, sequence_number,
- capture_time_ms, bytes, retransmission);
+ if (rtp_packet_pacer_) {
+ rtp_packet_pacer_->InsertPacket(priority, ssrc, sequence_number,
+ capture_time_ms, bytes, retransmission);
}
}
@@ -395,7 +400,7 @@
private:
rtc::ThreadChecker thread_checker_;
rtc::CriticalSection crit_;
- RtpPacketSender* rtp_packet_sender_ RTC_GUARDED_BY(&crit_);
+ RtpPacketPacer* rtp_packet_pacer_ RTC_GUARDED_BY(&crit_);
};
class VoERtcpObserver : public RtcpBandwidthObserver {
@@ -643,7 +648,7 @@
rtcp_observer_(new VoERtcpObserver(this)),
feedback_observer_proxy_(new TransportFeedbackProxy()),
seq_num_allocator_proxy_(new TransportSequenceNumberProxy()),
- rtp_packet_sender_proxy_(new RtpPacketSenderProxy()),
+ rtp_packet_pacer_proxy_(new RtpPacketSenderProxy()),
retransmission_rate_limiter_(
new RateLimiter(clock, kMaxRetransmissionWindowMs)),
use_twcc_plr_for_ana_(
@@ -676,7 +681,7 @@
configuration.clock = Clock::GetRealTimeClock();
configuration.outgoing_transport = rtp_transport;
- configuration.paced_sender = rtp_packet_sender_proxy_.get();
+ configuration.paced_sender = rtp_packet_pacer_proxy_.get();
configuration.transport_sequence_number_allocator =
seq_num_allocator_proxy_.get();
@@ -993,12 +998,12 @@
RtpTransportControllerSendInterface* transport,
RtcpBandwidthObserver* bandwidth_observer) {
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
- RtpPacketSender* rtp_packet_sender = transport->packet_sender();
+ RtpPacketPacer* rtp_packet_pacer = transport->packet_sender();
TransportFeedbackObserver* transport_feedback_observer =
transport->transport_feedback_observer();
PacketRouter* packet_router = transport->packet_router();
- RTC_DCHECK(rtp_packet_sender);
+ RTC_DCHECK(rtp_packet_pacer);
RTC_DCHECK(transport_feedback_observer);
RTC_DCHECK(packet_router);
RTC_DCHECK(!packet_router_);
@@ -1006,7 +1011,7 @@
feedback_observer_proxy_->SetTransportFeedbackObserver(
transport_feedback_observer);
seq_num_allocator_proxy_->SetSequenceNumberAllocator(packet_router);
- rtp_packet_sender_proxy_->SetPacketSender(rtp_packet_sender);
+ rtp_packet_pacer_proxy_->SetPacketPacer(rtp_packet_pacer);
_rtpRtcpModule->SetStorePacketsStatus(true, 600);
constexpr bool remb_candidate = false;
packet_router->AddSendRtpModule(_rtpRtcpModule.get(), remb_candidate);
@@ -1022,7 +1027,7 @@
seq_num_allocator_proxy_->SetSequenceNumberAllocator(nullptr);
packet_router_->RemoveSendRtpModule(_rtpRtcpModule.get());
packet_router_ = nullptr;
- rtp_packet_sender_proxy_->SetPacketSender(nullptr);
+ rtp_packet_pacer_proxy_->SetPacketPacer(nullptr);
}
void ChannelSend::SetRTCP_CNAME(absl::string_view c_name) {
diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc
index 7ff6525..a7acf53 100644
--- a/call/rtp_transport_controller_send.cc
+++ b/call/rtp_transport_controller_send.cc
@@ -161,7 +161,7 @@
return this;
}
-RtpPacketSender* RtpTransportControllerSend::packet_sender() {
+RtpPacketPacer* RtpTransportControllerSend::packet_sender() {
return &pacer_;
}
diff --git a/call/rtp_transport_controller_send.h b/call/rtp_transport_controller_send.h
index 10af91d..235fc15 100644
--- a/call/rtp_transport_controller_send.h
+++ b/call/rtp_transport_controller_send.h
@@ -74,7 +74,7 @@
PacketRouter* packet_router() override;
TransportFeedbackObserver* transport_feedback_observer() override;
- RtpPacketSender* packet_sender() override;
+ RtpPacketPacer* packet_sender() override;
void SetAllocatedSendBitrateLimits(int min_send_bitrate_bps,
int max_padding_bitrate_bps,
diff --git a/call/rtp_transport_controller_send_interface.h b/call/rtp_transport_controller_send_interface.h
index 860b705..4cfe7c9 100644
--- a/call/rtp_transport_controller_send_interface.h
+++ b/call/rtp_transport_controller_send_interface.h
@@ -27,6 +27,7 @@
#include "logging/rtc_event_log/rtc_event_log.h"
#include "modules/rtp_rtcp/include/report_block_data.h"
#include "modules/rtp_rtcp/include/rtcp_statistics.h"
+#include "modules/rtp_rtcp/include/rtp_packet_pacer.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
@@ -117,7 +118,7 @@
virtual TransportFeedbackObserver* transport_feedback_observer() = 0;
- virtual RtpPacketSender* packet_sender() = 0;
+ virtual RtpPacketPacer* packet_sender() = 0;
// SetAllocatedSendBitrateLimits sets bitrates limits imposed by send codec
// settings.
diff --git a/call/test/mock_rtp_transport_controller_send.h b/call/test/mock_rtp_transport_controller_send.h
index 98f4251..2e81396 100644
--- a/call/test/mock_rtp_transport_controller_send.h
+++ b/call/test/mock_rtp_transport_controller_send.h
@@ -46,7 +46,7 @@
MOCK_METHOD0(GetWorkerQueue, rtc::TaskQueue*());
MOCK_METHOD0(packet_router, PacketRouter*());
MOCK_METHOD0(transport_feedback_observer, TransportFeedbackObserver*());
- MOCK_METHOD0(packet_sender, RtpPacketSender*());
+ MOCK_METHOD0(packet_sender, RtpPacketPacer*());
MOCK_METHOD3(SetAllocatedSendBitrateLimits, void(int, int, int));
MOCK_METHOD1(SetPacingFactor, void(float));
MOCK_METHOD1(SetQueueTimeLimit, void(int));
diff --git a/modules/rtp_rtcp/include/rtp_rtcp.h b/modules/rtp_rtcp/include/rtp_rtcp.h
index dbe6345..8dcb760 100644
--- a/modules/rtp_rtcp/include/rtp_rtcp.h
+++ b/modules/rtp_rtcp/include/rtp_rtcp.h
@@ -25,6 +25,7 @@
#include "modules/rtp_rtcp/include/flexfec_sender.h"
#include "modules/rtp_rtcp/include/receive_statistics.h"
#include "modules/rtp_rtcp/include/report_block_data.h"
+#include "modules/rtp_rtcp/include/rtp_packet_pacer.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
#include "modules/rtp_rtcp/source/rtp_sender.h"
@@ -86,7 +87,7 @@
RemoteBitrateEstimator* remote_bitrate_estimator = nullptr;
// Spread any bursts of packets into smaller bursts to minimize packet loss.
- RtpPacketSender* paced_sender = nullptr;
+ RtpPacketPacer* paced_sender = nullptr;
// Generate FlexFEC packets.
// TODO(brandtr): Remove when FlexfecSender is wired up to PacedSender.
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index ae811a2..2863680 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -129,7 +129,7 @@
bool audio,
Clock* clock,
Transport* transport,
- RtpPacketSender* paced_sender,
+ RtpPacketPacer* paced_sender,
absl::optional<uint32_t> flexfec_ssrc,
TransportSequenceNumberAllocator* sequence_number_allocator,
TransportFeedbackObserver* transport_feedback_observer,
diff --git a/modules/rtp_rtcp/source/rtp_sender.h b/modules/rtp_rtcp/source/rtp_sender.h
index 5e86742..d8d7865 100644
--- a/modules/rtp_rtcp/source/rtp_sender.h
+++ b/modules/rtp_rtcp/source/rtp_sender.h
@@ -24,6 +24,7 @@
#include "api/transport/webrtc_key_value_config.h"
#include "modules/rtp_rtcp/include/flexfec_sender.h"
#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+#include "modules/rtp_rtcp/include/rtp_packet_pacer.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/rtp_packet_history.h"
#include "modules/rtp_rtcp/source/rtp_rtcp_config.h"
@@ -47,7 +48,7 @@
RTPSender(bool audio,
Clock* clock,
Transport* transport,
- RtpPacketSender* paced_sender,
+ RtpPacketPacer* paced_sender,
absl::optional<uint32_t> flexfec_ssrc,
TransportSequenceNumberAllocator* sequence_number_allocator,
TransportFeedbackObserver* transport_feedback_callback,
@@ -238,7 +239,7 @@
const absl::optional<uint32_t> flexfec_ssrc_;
- RtpPacketSender* const paced_sender_;
+ RtpPacketPacer* const paced_sender_;
TransportSequenceNumberAllocator* const transport_sequence_number_allocator_;
TransportFeedbackObserver* const transport_feedback_observer_;
rtc::CriticalSection send_critsect_;
diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
index cbb72a1..cebc813 100644
--- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -20,6 +20,7 @@
#include "modules/rtp_rtcp/include/rtp_cvo.h"
#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
#include "modules/rtp_rtcp/include/rtp_header_parser.h"
+#include "modules/rtp_rtcp/include/rtp_packet_pacer.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
#include "modules/rtp_rtcp/source/rtp_format_video_generic.h"
@@ -140,10 +141,12 @@
} // namespace
-class MockRtpPacketSender : public RtpPacketSender {
+class MockRtpPacketPacer : public RtpPacketPacer {
public:
- MockRtpPacketSender() {}
- virtual ~MockRtpPacketSender() {}
+ MockRtpPacketPacer() {}
+ virtual ~MockRtpPacketPacer() {}
+
+ MOCK_METHOD1(EnqueuePacket, void(std::unique_ptr<RtpPacketToSend>));
MOCK_METHOD6(InsertPacket,
void(Priority priority,
@@ -212,7 +215,7 @@
SimulatedClock fake_clock_;
NiceMock<MockRtcEventLog> mock_rtc_event_log_;
- MockRtpPacketSender mock_paced_sender_;
+ MockRtpPacketPacer mock_paced_sender_;
StrictMock<MockTransportSequenceNumberAllocator> seq_num_allocator_;
StrictMock<MockSendPacketObserver> send_packet_observer_;
StrictMock<MockTransportFeedbackObserver> feedback_observer_;