Index: webrtc/video/vie_channel.cc |
diff --git a/webrtc/video/vie_channel.cc b/webrtc/video/vie_channel.cc |
index 7c13a7c3dfbbcdd88e13540aab3987e531203f26..bb8f4ee4b6540dd471d1a3d9bce60570fdd9e4b2 100644 |
--- a/webrtc/video/vie_channel.cc |
+++ b/webrtc/video/vie_channel.cc |
@@ -80,6 +80,8 @@ class ViEChannelProtectionCallback : public VCMProtectionCallback { |
ViEChannel::ViEChannel(uint32_t number_of_cores, |
Transport* transport, |
ProcessThread* module_process_thread, |
+ PayloadRouter* send_payload_router, |
+ VideoCodingModule* vcm, |
RtcpIntraFrameObserver* intra_frame_observer, |
RtcpBandwidthObserver* bandwidth_observer, |
TransportFeedbackObserver* transport_feedback_observer, |
@@ -92,11 +94,9 @@ ViEChannel::ViEChannel(uint32_t number_of_cores, |
: number_of_cores_(number_of_cores), |
sender_(sender), |
module_process_thread_(module_process_thread), |
- send_payload_router_(new PayloadRouter()), |
+ send_payload_router_(send_payload_router), |
vcm_protection_callback_(new ViEChannelProtectionCallback(this)), |
- vcm_(VideoCodingModule::Create(Clock::GetRealTimeClock(), |
- nullptr, |
- nullptr)), |
+ vcm_(vcm), |
vie_receiver_(vcm_, remote_bitrate_estimator, this), |
vie_sync_(vcm_), |
stats_observer_(new ChannelStatsObserver(this)), |
@@ -164,7 +164,6 @@ int32_t ViEChannel::Init() { |
vcm_->RegisterDecoderTimingCallback(this); |
vcm_->SetRenderDelay(kDefaultRenderDelayMs); |
- module_process_thread_->RegisterModule(vcm_); |
module_process_thread_->RegisterModule(&vie_sync_); |
return 0; |
@@ -175,7 +174,6 @@ ViEChannel::~ViEChannel() { |
// Make sure we don't get more callbacks from the RTP module. |
module_process_thread_->DeRegisterModule( |
vie_receiver_.GetReceiveStatistics()); |
- module_process_thread_->DeRegisterModule(vcm_); |
module_process_thread_->DeRegisterModule(&vie_sync_); |
send_payload_router_->SetSendingRtpModules(std::list<RtpRtcp*>()); |
for (size_t i = 0; i < num_active_rtp_rtcp_modules_; ++i) |
@@ -186,8 +184,6 @@ ViEChannel::~ViEChannel() { |
} |
if (!sender_) |
StopDecodeThread(); |
- // Release modules. |
- VideoCodingModule::Destroy(vcm_); |
} |
void ViEChannel::UpdateHistograms() { |
@@ -942,10 +938,6 @@ RtpRtcp* ViEChannel::rtp_rtcp() { |
return rtp_rtcp_modules_[0]; |
} |
-rtc::scoped_refptr<PayloadRouter> ViEChannel::send_payload_router() { |
- return send_payload_router_; |
-} |
- |
VCMProtectionCallback* ViEChannel::vcm_protection_callback() { |
return vcm_protection_callback_.get(); |
} |