Index: webrtc/video/vie_encoder.cc |
diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc |
index 8adf4d0671dfb42e27d59206bd072c2bec687051..2331d1720fa94a3b5a70cad8c14b5363adc2e747 100644 |
--- a/webrtc/video/vie_encoder.cc |
+++ b/webrtc/video/vie_encoder.cc |
@@ -108,6 +108,7 @@ ViEEncoder::ViEEncoder(uint32_t number_of_cores, |
SendStatisticsProxy* stats_proxy, |
I420FrameCallback* pre_encode_callback, |
PacedSender* pacer, |
+ PayloadRouter* payload_router, |
BitrateAllocator* bitrate_allocator) |
: number_of_cores_(number_of_cores), |
vp_(VideoProcessing::Create()), |
@@ -115,10 +116,10 @@ ViEEncoder::ViEEncoder(uint32_t number_of_cores, |
vcm_(VideoCodingModule::Create(Clock::GetRealTimeClock(), |
this, |
qm_callback_.get())), |
- send_payload_router_(NULL), |
stats_proxy_(stats_proxy), |
pre_encode_callback_(pre_encode_callback), |
pacer_(pacer), |
+ send_payload_router_(payload_router), |
bitrate_allocator_(bitrate_allocator), |
time_of_last_frame_activity_ms_(0), |
encoder_config_(), |
@@ -135,6 +136,7 @@ ViEEncoder::ViEEncoder(uint32_t number_of_cores, |
picture_id_rpsi_(0), |
video_suspended_(false) { |
bitrate_observer_.reset(new ViEBitrateObserver(this)); |
+ module_process_thread_->RegisterModule(vcm_.get()); |
} |
bool ViEEncoder::Init() { |
@@ -152,23 +154,14 @@ bool ViEEncoder::Init() { |
return true; |
} |
-void ViEEncoder::StartThreadsAndSetSharedMembers( |
- rtc::scoped_refptr<PayloadRouter> send_payload_router, |
- VCMProtectionCallback* vcm_protection_callback) { |
- RTC_DCHECK(send_payload_router_ == NULL); |
- |
- send_payload_router_ = send_payload_router; |
- vcm_->RegisterProtectionCallback(vcm_protection_callback); |
- module_process_thread_->RegisterModule(vcm_.get()); |
+VideoCodingModule* ViEEncoder::vcm() const { |
+ return vcm_.get(); |
} |
-void ViEEncoder::StopThreadsAndRemoveSharedMembers() { |
+ViEEncoder::~ViEEncoder() { |
+ module_process_thread_->DeRegisterModule(vcm_.get()); |
if (bitrate_allocator_) |
bitrate_allocator_->RemoveBitrateObserver(bitrate_observer_.get()); |
- module_process_thread_->DeRegisterModule(vcm_.get()); |
-} |
- |
-ViEEncoder::~ViEEncoder() { |
} |
void ViEEncoder::SetNetworkTransmissionState(bool is_transmitting) { |
@@ -335,7 +328,6 @@ void ViEEncoder::TraceFrameDropEnd() { |
} |
void ViEEncoder::DeliverFrame(VideoFrame video_frame) { |
- RTC_DCHECK(send_payload_router_ != NULL); |
if (!send_payload_router_->active()) { |
// We've paused or we have no channels attached, don't waste resources on |
// encoding. |