| Index: webrtc/video/vie_channel.cc
|
| diff --git a/webrtc/video/vie_channel.cc b/webrtc/video/vie_channel.cc
|
| index aa34d0dc0f6d98f09ad6afbcb08b20c1600c3f1b..30992868d1b9013436c5afe319f5bdfe0e33f63e 100644
|
| --- a/webrtc/video/vie_channel.cc
|
| +++ b/webrtc/video/vie_channel.cc
|
| @@ -120,8 +120,7 @@ ViEChannel::ViEChannel(Transport* transport,
|
| &send_bitrate_observer_,
|
| &send_frame_count_observer_,
|
| &send_side_delay_observer_,
|
| - max_rtp_streams)),
|
| - num_active_rtp_rtcp_modules_(1) {
|
| + max_rtp_streams)) {
|
| vie_receiver_.SetRtpRtcpModule(rtp_rtcp_modules_[0]);
|
| if (sender_) {
|
| RTC_DCHECK(send_payload_router_);
|
| @@ -138,15 +137,16 @@ int32_t ViEChannel::Init() {
|
| module_process_thread_->RegisterModule(vie_receiver_.GetReceiveStatistics());
|
|
|
| // RTP/RTCP initialization.
|
| - for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_)
|
| + for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) {
|
| module_process_thread_->RegisterModule(rtp_rtcp);
|
| + packet_router_->AddRtpModule(rtp_rtcp);
|
| + }
|
|
|
| rtp_rtcp_modules_[0]->SetKeyFrameRequestMethod(kKeyFrameReqPliRtcp);
|
| if (paced_sender_) {
|
| for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_)
|
| rtp_rtcp->SetStorePacketsStatus(true, kMinSendSidePacketHistorySize);
|
| }
|
| - packet_router_->AddRtpModule(rtp_rtcp_modules_[0]);
|
| if (sender_) {
|
| send_payload_router_->SetSendingRtpModules(1);
|
| RTC_DCHECK(!send_payload_router_->active());
|
| @@ -170,9 +170,8 @@ ViEChannel::~ViEChannel() {
|
| if (sender_) {
|
| send_payload_router_->SetSendingRtpModules(0);
|
| }
|
| - for (size_t i = 0; i < num_active_rtp_rtcp_modules_; ++i)
|
| - packet_router_->RemoveRtpModule(rtp_rtcp_modules_[i]);
|
| for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) {
|
| + packet_router_->RemoveRtpModule(rtp_rtcp);
|
| module_process_thread_->DeRegisterModule(rtp_rtcp);
|
| delete rtp_rtcp;
|
| }
|
| @@ -250,13 +249,6 @@ int32_t ViEChannel::SetSendCodec(const VideoCodec& video_codec,
|
| size_t num_active_modules = video_codec.numberOfSimulcastStreams > 0
|
| ? video_codec.numberOfSimulcastStreams
|
| : 1;
|
| - size_t num_prev_active_modules;
|
| - {
|
| - // Cache which modules are active so StartSend can know which ones to start.
|
| - rtc::CritScope lock(&crit_);
|
| - num_prev_active_modules = num_active_rtp_rtcp_modules_;
|
| - num_active_rtp_rtcp_modules_ = num_active_modules;
|
| - }
|
| for (size_t i = 0; i < num_active_modules; ++i)
|
| registered_modules.push_back(rtp_rtcp_modules_[i]);
|
|
|
| @@ -269,12 +261,6 @@ int32_t ViEChannel::SetSendCodec(const VideoCodec& video_codec,
|
|
|
| send_payload_router_->set_active(is_sending);
|
|
|
| - // Deregister previously registered modules.
|
| - for (size_t i = num_active_modules; i < num_prev_active_modules; ++i)
|
| - packet_router_->RemoveRtpModule(rtp_rtcp_modules_[i]);
|
| - // Register new active modules.
|
| - for (size_t i = num_prev_active_modules; i < num_active_modules; ++i)
|
| - packet_router_->AddRtpModule(rtp_rtcp_modules_[i]);
|
| return 0;
|
| }
|
|
|
|
|