Index: webrtc/video/vie_channel.cc |
diff --git a/webrtc/video/vie_channel.cc b/webrtc/video/vie_channel.cc |
index 108d409ce44c9e7694428e45a96e3e8f4ec8cf2b..5416e3947234f2d6e61554ba1f091628d8512767 100644 |
--- a/webrtc/video/vie_channel.cc |
+++ b/webrtc/video/vie_channel.cc |
@@ -25,7 +25,7 @@ |
#include "webrtc/modules/rtp_rtcp/include/rtp_receiver.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" |
#include "webrtc/modules/utility/include/process_thread.h" |
-#include "webrtc/modules/video_coding/include/video_coding.h" |
+#include "webrtc/modules/video_coding/video_coding_impl.h" |
#include "webrtc/modules/video_processing/include/video_processing.h" |
#include "webrtc/modules/video_render/video_render_defines.h" |
#include "webrtc/system_wrappers/include/metrics.h" |
@@ -93,14 +93,14 @@ class ChannelStatsObserver : public CallStatsObserver { |
ViEChannel::ViEChannel(Transport* transport, |
ProcessThread* module_process_thread, |
- VideoCodingModule* vcm, |
+ vcm::VideoReceiver* video_receiver, |
RemoteBitrateEstimator* remote_bitrate_estimator, |
RtcpRttStats* rtt_stats, |
PacedSender* paced_sender, |
PacketRouter* packet_router) |
: module_process_thread_(module_process_thread), |
- vcm_(vcm), |
- vie_receiver_(vcm_, remote_bitrate_estimator, this), |
+ video_receiver_(video_receiver), |
+ vie_receiver_(video_receiver_, remote_bitrate_estimator, this), |
stats_observer_(new ChannelStatsObserver(this)), |
receive_stats_callback_(nullptr), |
incoming_video_stream_(nullptr), |
@@ -118,8 +118,9 @@ ViEChannel::ViEChannel(Transport* transport, |
paced_sender_, |
packet_router_)) { |
vie_receiver_.Init(rtp_rtcp_.get()); |
- RTC_DCHECK(vcm_); |
- vcm_->SetNackSettings(kMaxNackListSize, max_nack_reordering_threshold_, 0); |
+ RTC_DCHECK(video_receiver_); |
+ video_receiver_->SetNackSettings(kMaxNackListSize, |
+ max_nack_reordering_threshold_, 0); |
} |
int32_t ViEChannel::Init() { |
@@ -131,13 +132,13 @@ int32_t ViEChannel::Init() { |
packet_router_->AddRtpModule(rtp_rtcp_.get()); |
rtp_rtcp_->SetKeyFrameRequestMethod(kKeyFrameReqPliRtcp); |
- if (vcm_->RegisterReceiveCallback(this) != 0) { |
+ if (video_receiver_->RegisterReceiveCallback(this) != 0) { |
return -1; |
} |
- vcm_->RegisterFrameTypeCallback(this); |
- vcm_->RegisterReceiveStatisticsCallback(this); |
- vcm_->RegisterDecoderTimingCallback(this); |
- vcm_->SetRenderDelay(kDefaultRenderDelayMs); |
+ video_receiver_->RegisterFrameTypeCallback(this); |
+ video_receiver_->RegisterReceiveStatisticsCallback(this); |
+ video_receiver_->RegisterDecoderTimingCallback(this); |
+ video_receiver_->SetRenderDelay(kDefaultRenderDelayMs); |
return 0; |
} |
@@ -178,7 +179,7 @@ void ViEChannel::SetProtectionMode(bool enable_nack, |
protection_method = kProtectionNone; |
} |
- vcm_->SetVideoProtection(protection_method, true); |
+ video_receiver_->SetVideoProtection(protection_method, true); |
// Set NACK. |
ProcessNACKRequest(enable_nack); |
@@ -195,15 +196,15 @@ void ViEChannel::ProcessNACKRequest(const bool enable) { |
if (rtp_rtcp_->RTCP() == RtcpMode::kOff) |
return; |
vie_receiver_.SetNackStatus(true, max_nack_reordering_threshold_); |
- vcm_->RegisterPacketRequestCallback(this); |
+ video_receiver_->RegisterPacketRequestCallback(this); |
// Don't introduce errors when NACK is enabled. |
- vcm_->SetDecodeErrorMode(kNoErrors); |
+ video_receiver_->SetDecodeErrorMode(kNoErrors); |
} else { |
- vcm_->RegisterPacketRequestCallback(nullptr); |
+ video_receiver_->RegisterPacketRequestCallback(nullptr); |
// When NACK is off, allow decoding with errors. Otherwise, the video |
// will freeze, and will only recover with a complete key frame. |
- vcm_->SetDecodeErrorMode(kWithErrors); |
+ video_receiver_->SetDecodeErrorMode(kWithErrors); |
vie_receiver_.SetNackStatus(false, max_nack_reordering_threshold_); |
} |
} |
@@ -238,10 +239,10 @@ CallStatsObserver* ViEChannel::GetStatsObserver() { |
return stats_observer_.get(); |
} |
-// Do not acquire the lock of |vcm_| in this function. Decode callback won't |
-// necessarily be called from the decoding thread. The decoding thread may have |
-// held the lock when calling VideoDecoder::Decode, Reset, or Release. Acquiring |
-// the same lock in the path of decode callback can deadlock. |
+// Do not acquire the lock of |video_receiver_| in this function. Decode |
+// callback won't necessarily be called from the decoding thread. The decoding |
+// thread may have held the lock when calling VideoDecoder::Decode, Reset, or |
+// Release. Acquiring the same lock in the path of decode callback can deadlock. |
int32_t ViEChannel::FrameToRender(VideoFrame& video_frame) { // NOLINT |
rtc::CritScope lock(&crit_); |
@@ -320,7 +321,7 @@ int32_t ViEChannel::ResendPackets(const uint16_t* sequence_numbers, |
} |
void ViEChannel::OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) { |
- vcm_->SetReceiveChannelParameters(max_rtt_ms); |
+ video_receiver_->SetReceiveChannelParameters(max_rtt_ms); |
rtc::CritScope lock(&crit_); |
last_rtt_ms_ = avg_rtt_ms; |