diff --git a/webrtc/video/payload_router.cc b/webrtc/video/payload_router.cc index 72abdb8a44..a70da244db 100644 --- a/webrtc/video/payload_router.cc +++ b/webrtc/video/payload_router.cc @@ -27,13 +27,9 @@ size_t PayloadRouter::DefaultMaxPayloadLength() { } void PayloadRouter::SetSendingRtpModules( - const std::list& rtp_modules) { + const std::vector& rtp_modules) { rtc::CritScope lock(&crit_); - rtp_modules_.clear(); - rtp_modules_.reserve(rtp_modules.size()); - for (auto* rtp_module : rtp_modules) { - rtp_modules_.push_back(rtp_module); - } + rtp_modules_ = rtp_modules; } void PayloadRouter::set_active(bool active) { diff --git a/webrtc/video/payload_router.h b/webrtc/video/payload_router.h index ea02a5cd15..ad570fabed 100644 --- a/webrtc/video/payload_router.h +++ b/webrtc/video/payload_router.h @@ -11,7 +11,6 @@ #ifndef WEBRTC_VIDEO_PAYLOAD_ROUTER_H_ #define WEBRTC_VIDEO_PAYLOAD_ROUTER_H_ -#include #include #include "webrtc/base/constructormagic.h" @@ -37,7 +36,7 @@ class PayloadRouter { static size_t DefaultMaxPayloadLength(); // Rtp modules are assumed to be sorted in simulcast index order. - void SetSendingRtpModules(const std::list& rtp_modules); + void SetSendingRtpModules(const std::vector& rtp_modules); // PayloadRouter will only route packets if being active, all packets will be // dropped otherwise. diff --git a/webrtc/video/payload_router_unittest.cc b/webrtc/video/payload_router_unittest.cc index 8c22f2fd5c..2bc096dbaa 100644 --- a/webrtc/video/payload_router_unittest.cc +++ b/webrtc/video/payload_router_unittest.cc @@ -8,9 +8,6 @@ * be found in the AUTHORS file in the root of the source tree. */ - -#include - #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "webrtc/base/scoped_ptr.h" @@ -35,7 +32,7 @@ class PayloadRouterTest : public ::testing::Test { TEST_F(PayloadRouterTest, SendOnOneModule) { MockRtpRtcp rtp; - std::list modules(1, &rtp); + std::vector modules(1, &rtp); payload_router_->SetSendingRtpModules(modules); @@ -82,7 +79,7 @@ TEST_F(PayloadRouterTest, SendOnOneModule) { TEST_F(PayloadRouterTest, SendSimulcast) { MockRtpRtcp rtp_1; MockRtpRtcp rtp_2; - std::list modules; + std::vector modules; modules.push_back(&rtp_1); modules.push_back(&rtp_2); @@ -147,7 +144,7 @@ TEST_F(PayloadRouterTest, MaxPayloadLength) { MockRtpRtcp rtp_1; MockRtpRtcp rtp_2; - std::list modules; + std::vector modules; modules.push_back(&rtp_1); modules.push_back(&rtp_2); payload_router_->SetSendingRtpModules(modules); @@ -175,7 +172,7 @@ TEST_F(PayloadRouterTest, MaxPayloadLength) { TEST_F(PayloadRouterTest, SetTargetSendBitrates) { MockRtpRtcp rtp_1; MockRtpRtcp rtp_2; - std::list modules; + std::vector modules; modules.push_back(&rtp_1); modules.push_back(&rtp_2); payload_router_->SetSendingRtpModules(modules); diff --git a/webrtc/video/vie_channel.cc b/webrtc/video/vie_channel.cc index 0f66c81659..d49f505365 100644 --- a/webrtc/video/vie_channel.cc +++ b/webrtc/video/vie_channel.cc @@ -155,8 +155,8 @@ int32_t ViEChannel::Init() { } packet_router_->AddRtpModule(rtp_rtcp_modules_[0], sender_); if (sender_) { - std::list send_rtp_modules(1, rtp_rtcp_modules_[0]); - send_payload_router_->SetSendingRtpModules(send_rtp_modules); + send_payload_router_->SetSendingRtpModules( + std::vector(1, rtp_rtcp_modules_[0])); RTC_DCHECK(!send_payload_router_->active()); } else { if (vcm_->RegisterReceiveCallback(this) != 0) { @@ -177,7 +177,7 @@ ViEChannel::~ViEChannel() { module_process_thread_->DeRegisterModule( vie_receiver_.GetReceiveStatistics()); if (sender_) { - send_payload_router_->SetSendingRtpModules(std::list()); + send_payload_router_->SetSendingRtpModules(std::vector()); } else { module_process_thread_->DeRegisterModule(&vie_sync_); } @@ -345,7 +345,7 @@ int32_t ViEChannel::SetSendCodec(const VideoCodec& video_codec, bool is_sending = rtp_rtcp_modules_[0]->Sending(); bool router_was_active = send_payload_router_->active(); send_payload_router_->set_active(false); - send_payload_router_->SetSendingRtpModules(std::list()); + send_payload_router_->SetSendingRtpModules(std::vector()); std::vector registered_modules; std::vector deregistered_modules; @@ -386,12 +386,7 @@ int32_t ViEChannel::SetSendCodec(const VideoCodec& video_codec, vie_receiver_.RegisterRtpRtcpModules(registered_modules); // Update the packet and payload routers with the sending RtpRtcp modules. - if (sender_) { - std::list active_send_modules; - for (RtpRtcp* rtp_rtcp : registered_modules) - active_send_modules.push_back(rtp_rtcp); - send_payload_router_->SetSendingRtpModules(active_send_modules); - } + send_payload_router_->SetSendingRtpModules(registered_modules); if (router_was_active) send_payload_router_->set_active(true);