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