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

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

Issue 1705763002: Remove PacketRouter sender distinction. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: revert sending_media_ = false Created 4 years, 10 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
« no previous file with comments | « webrtc/modules/pacing/packet_router.h ('k') | webrtc/modules/pacing/packet_router_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/pacing/packet_router.cc
diff --git a/webrtc/modules/pacing/packet_router.cc b/webrtc/modules/pacing/packet_router.cc
index ac75d2cd4a65c6fe9a033ba6322bc10b1863a4d9..2deda79f52d844263bc22c8c4ffd83377495f192 100644
--- a/webrtc/modules/pacing/packet_router.cc
+++ b/webrtc/modules/pacing/packet_router.cc
@@ -18,55 +18,26 @@
namespace webrtc {
-namespace {
-void AddModule(RtpRtcp* rtp_module, std::list<RtpRtcp*>* rtp_modules) {
- RTC_DCHECK(std::find(rtp_modules->begin(), rtp_modules->end(), rtp_module) ==
- rtp_modules->end());
- rtp_modules->push_back(rtp_module);
-}
-
-void RemoveModule(RtpRtcp* rtp_module, std::list<RtpRtcp*>* rtp_modules) {
- RTC_DCHECK(std::find(rtp_modules->begin(), rtp_modules->end(), rtp_module) !=
- rtp_modules->end());
- rtp_modules->remove(rtp_module);
-}
-
-bool SendFeedback(rtcp::TransportFeedback* packet,
- std::list<RtpRtcp*>* rtp_modules) {
- for (auto* rtp_module : *rtp_modules) {
- packet->WithPacketSenderSsrc(rtp_module->SSRC());
- if (rtp_module->SendFeedbackPacket(*packet))
- return true;
- }
- return false;
-}
-} // namespace
-
PacketRouter::PacketRouter() : transport_seq_(0) {
pacer_thread_checker_.DetachFromThread();
}
PacketRouter::~PacketRouter() {
- RTC_DCHECK(send_rtp_modules_.empty());
- RTC_DCHECK(recv_rtp_modules_.empty());
+ RTC_DCHECK(rtp_modules_.empty());
}
-void PacketRouter::AddRtpModule(RtpRtcp* rtp_module, bool sender) {
+void PacketRouter::AddRtpModule(RtpRtcp* rtp_module) {
rtc::CritScope cs(&modules_crit_);
- if (sender) {
- AddModule(rtp_module, &send_rtp_modules_);
- } else {
- AddModule(rtp_module, &recv_rtp_modules_);
- }
+ RTC_DCHECK(std::find(rtp_modules_.begin(), rtp_modules_.end(), rtp_module) ==
+ rtp_modules_.end());
+ rtp_modules_.push_back(rtp_module);
}
-void PacketRouter::RemoveRtpModule(RtpRtcp* rtp_module, bool sender) {
+void PacketRouter::RemoveRtpModule(RtpRtcp* rtp_module) {
rtc::CritScope cs(&modules_crit_);
- if (sender) {
- RemoveModule(rtp_module, &send_rtp_modules_);
- } else {
- RemoveModule(rtp_module, &recv_rtp_modules_);
- }
+ RTC_DCHECK(std::find(rtp_modules_.begin(), rtp_modules_.end(), rtp_module) !=
+ rtp_modules_.end());
+ rtp_modules_.remove(rtp_module);
}
bool PacketRouter::TimeToSendPacket(uint32_t ssrc,
@@ -75,7 +46,7 @@ bool PacketRouter::TimeToSendPacket(uint32_t ssrc,
bool retransmission) {
RTC_DCHECK(pacer_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&modules_crit_);
- for (auto* rtp_module : send_rtp_modules_) {
+ for (auto* rtp_module : rtp_modules_) {
if (rtp_module->SendingMedia() && ssrc == rtp_module->SSRC()) {
return rtp_module->TimeToSendPacket(ssrc, sequence_number,
capture_timestamp, retransmission);
@@ -88,7 +59,7 @@ size_t PacketRouter::TimeToSendPadding(size_t bytes_to_send) {
RTC_DCHECK(pacer_thread_checker_.CalledOnValidThread());
size_t total_bytes_sent = 0;
rtc::CritScope cs(&modules_crit_);
- for (RtpRtcp* module : send_rtp_modules_) {
+ for (RtpRtcp* module : rtp_modules_) {
if (module->SendingMedia()) {
size_t bytes_sent =
module->TimeToSendPadding(bytes_to_send - total_bytes_sent);
@@ -125,10 +96,11 @@ uint16_t PacketRouter::AllocateSequenceNumber() {
bool PacketRouter::SendFeedback(rtcp::TransportFeedback* packet) {
RTC_DCHECK(pacer_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&modules_crit_);
- if (::webrtc::SendFeedback(packet, &recv_rtp_modules_))
- return true;
- if (::webrtc::SendFeedback(packet, &send_rtp_modules_))
- return true;
+ for (auto* rtp_module : rtp_modules_) {
+ packet->WithPacketSenderSsrc(rtp_module->SSRC());
+ if (rtp_module->SendFeedbackPacket(*packet))
+ return true;
+ }
return false;
}
« no previous file with comments | « webrtc/modules/pacing/packet_router.h ('k') | webrtc/modules/pacing/packet_router_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698