Index: webrtc/video/video_receive_stream.cc |
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc |
index bbcc66aa12897981856a5bf13b3e1d7bb29cfaf3..85b501157f1eb8c293253865343b5a4b285c5e50 100644 |
--- a/webrtc/video/video_receive_stream.cc |
+++ b/webrtc/video/video_receive_stream.cc |
@@ -142,12 +142,14 @@ VideoReceiveStream::VideoReceiveStream(int num_cpu_cores, |
ChannelGroup* channel_group, |
const VideoReceiveStream::Config& config, |
webrtc::VoiceEngine* voice_engine, |
- ProcessThread* process_thread) |
+ ProcessThread* process_thread, |
+ CallStats* call_stats) |
: transport_adapter_(config.rtcp_send_transport), |
encoded_frame_proxy_(config.pre_decode_callback), |
config_(config), |
clock_(Clock::GetRealTimeClock()), |
- channel_group_(channel_group) { |
+ channel_group_(channel_group), |
+ call_stats_(call_stats) { |
LOG(LS_INFO) << "VideoReceiveStream: " << config_.ToString(); |
bool send_side_bwe = UseSendSideBwe(config_.rtp.extensions); |
@@ -156,18 +158,15 @@ VideoReceiveStream::VideoReceiveStream(int num_cpu_cores, |
channel_group_->GetRemoteBitrateEstimator(send_side_bwe); |
vie_channel_.reset(new ViEChannel( |
- num_cpu_cores, &transport_adapter_, process_thread, |
- channel_group_->GetRtcpIntraFrameObserver(), |
+ num_cpu_cores, &transport_adapter_, process_thread, nullptr, |
channel_group_->GetBitrateController()->CreateRtcpBandwidthObserver(), |
- nullptr, bitrate_estimator, |
- channel_group_->GetCallStats()->rtcp_rtt_stats(), channel_group_->pacer(), |
- channel_group_->packet_router(), 1, false)); |
+ nullptr, bitrate_estimator, call_stats_->rtcp_rtt_stats(), |
+ channel_group_->pacer(), channel_group_->packet_router(), 1, false)); |
RTC_CHECK(vie_channel_->Init() == 0); |
// Register the channel to receive stats updates. |
- channel_group_->GetCallStats()->RegisterStatsObserver( |
- vie_channel_->GetStatsObserver()); |
+ call_stats_->RegisterStatsObserver(vie_channel_->GetStatsObserver()); |
// TODO(pbos): This is not fine grained enough... |
vie_channel_->SetProtectionMode(config_.rtp.nack.rtp_history_ms > 0, false, |
@@ -197,10 +196,8 @@ VideoReceiveStream::VideoReceiveStream(int num_cpu_cores, |
vie_channel_->SetUseRtxPayloadMappingOnRestore( |
config_.rtp.use_rtx_payload_mapping_on_restore); |
- // TODO(pbos): Remove channel_group_ usage from VideoReceiveStream. This |
- // should be configured in call.cc. |
channel_group_->SetChannelRembStatus(false, config_.rtp.remb, |
- vie_channel_.get()); |
+ vie_channel_->rtp_rtcp()); |
for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) { |
const std::string& extension = config_.rtp.extensions[i].name; |
@@ -291,9 +288,8 @@ VideoReceiveStream::~VideoReceiveStream() { |
for (size_t i = 0; i < config_.decoders.size(); ++i) |
vie_channel_->DeRegisterExternalDecoder(config_.decoders[i].payload_type); |
- channel_group_->GetCallStats()->DeregisterStatsObserver( |
- vie_channel_->GetStatsObserver()); |
- channel_group_->SetChannelRembStatus(false, false, vie_channel_.get()); |
+ call_stats_->DeregisterStatsObserver(vie_channel_->GetStatsObserver()); |
+ channel_group_->SetChannelRembStatus(false, false, vie_channel_->rtp_rtcp()); |
uint32_t remote_ssrc = vie_channel_->GetRemoteSSRC(); |
bool send_side_bwe = UseSendSideBwe(config_.rtp.extensions); |