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

Unified Diff: webrtc/video/vie_encoder.cc

Issue 1654913002: Untangle ViEChannel and ViEEncoder. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 10 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_encoder.cc
diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc
index a9b2abbcab16da01ec5f8a6d3cfd317d529c6674..20cfaffb62bd943f5c04c4054e162e0eb438d0a6 100644
--- a/webrtc/video/vie_encoder.cc
+++ b/webrtc/video/vie_encoder.cc
@@ -110,6 +110,7 @@ ViEEncoder::ViEEncoder(uint32_t number_of_cores,
I420FrameCallback* pre_encode_callback,
OveruseFrameDetector* overuse_detector,
PacedSender* pacer,
+ PayloadRouter* payload_router,
BitrateAllocator* bitrate_allocator)
: number_of_cores_(number_of_cores),
vp_(VideoProcessing::Create()),
@@ -117,11 +118,11 @@ 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),
overuse_detector_(overuse_detector),
pacer_(pacer),
+ send_payload_router_(payload_router),
bitrate_allocator_(bitrate_allocator),
time_of_last_frame_activity_ms_(0),
encoder_config_(),
@@ -138,6 +139,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() {
@@ -155,23 +157,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) {
@@ -338,7 +331,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.

Powered by Google App Engine
This is Rietveld 408576698