Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1538)

Unified Diff: webrtc/video/vie_channel.cc

Issue 1654913002: Untangle ViEChannel and ViEEncoder. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: deregister protection callback before destroying vie_channel_ Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698