Index: webrtc/video/video_send_stream.cc |
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc |
index b9edbba1983b573f2dd4feb75333e7b256c00b3c..5ba7c6fb87324be2b44322308db299cd98f8fdaf 100644 |
--- a/webrtc/video/video_send_stream.cc |
+++ b/webrtc/video/video_send_stream.cc |
@@ -17,6 +17,7 @@ |
#include "webrtc/base/checks.h" |
#include "webrtc/base/trace_event.h" |
+#include "webrtc/call/congestion_controller.h" |
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" |
#include "webrtc/modules/pacing/include/packet_router.h" |
#include "webrtc/system_wrappers/interface/logging.h" |
@@ -25,7 +26,6 @@ |
#include "webrtc/video_engine/encoder_state_feedback.h" |
#include "webrtc/video_engine/payload_router.h" |
#include "webrtc/video_engine/vie_channel.h" |
-#include "webrtc/video_engine/vie_channel_group.h" |
#include "webrtc/video_engine/vie_defines.h" |
#include "webrtc/video_engine/vie_encoder.h" |
#include "webrtc/video_send_stream.h" |
@@ -113,7 +113,7 @@ VideoSendStream::VideoSendStream( |
int num_cpu_cores, |
ProcessThread* module_process_thread, |
CallStats* call_stats, |
- ChannelGroup* channel_group, |
+ CongestionController* congestion_controller, |
const VideoSendStream::Config& config, |
const VideoEncoderConfig& encoder_config, |
const std::map<uint32_t, RtpState>& suspended_ssrcs) |
@@ -123,7 +123,7 @@ VideoSendStream::VideoSendStream( |
suspended_ssrcs_(suspended_ssrcs), |
module_process_thread_(module_process_thread), |
call_stats_(call_stats), |
- channel_group_(channel_group), |
+ congestion_controller_(congestion_controller), |
encoder_feedback_(new EncoderStateFeedback()), |
use_config_bitrate_(true), |
stats_proxy_(Clock::GetRealTimeClock(), config) { |
@@ -135,7 +135,7 @@ VideoSendStream::VideoSendStream( |
for (const RtpExtension& extension : config.rtp.extensions) { |
if (extension.name == RtpExtension::kTransportSequenceNumber) { |
transport_feedback_observer = |
- channel_group_->GetTransportFeedbackObserver(); |
+ congestion_controller_->GetTransportFeedbackObserver(); |
break; |
} |
} |
@@ -144,18 +144,19 @@ VideoSendStream::VideoSendStream( |
vie_encoder_.reset(new ViEEncoder( |
num_cpu_cores, module_process_thread_, &stats_proxy_, |
- config.pre_encode_callback, channel_group_->pacer(), |
- channel_group_->bitrate_allocator())); |
+ config.pre_encode_callback, congestion_controller_->pacer(), |
+ congestion_controller_->bitrate_allocator())); |
RTC_CHECK(vie_encoder_->Init()); |
vie_channel_.reset(new ViEChannel( |
num_cpu_cores, config.send_transport, module_process_thread_, |
encoder_feedback_->GetRtcpIntraFrameObserver(), |
- channel_group_->GetBitrateController()->CreateRtcpBandwidthObserver(), |
+ congestion_controller_->GetBitrateController()-> |
+ CreateRtcpBandwidthObserver(), |
transport_feedback_observer, |
- channel_group_->GetRemoteBitrateEstimator(false), |
- call_stats_->rtcp_rtt_stats(), channel_group_->pacer(), |
- channel_group_->packet_router(), ssrcs.size(), true)); |
+ congestion_controller_->GetRemoteBitrateEstimator(false), |
+ call_stats_->rtcp_rtt_stats(), congestion_controller_->pacer(), |
+ congestion_controller_->packet_router(), ssrcs.size(), true)); |
RTC_CHECK(vie_channel_->Init() == 0); |
call_stats_->RegisterStatsObserver(vie_channel_->GetStatsObserver()); |
@@ -186,7 +187,8 @@ VideoSendStream::VideoSendStream( |
} |
} |
- channel_group_->SetChannelRembStatus(true, false, vie_channel_->rtp_rtcp()); |
+ congestion_controller_->SetChannelRembStatus(true, false, |
+ vie_channel_->rtp_rtcp()); |
// Enable NACK, FEC or both. |
const bool enable_protection_nack = config_.rtp.nack.rtp_history_ms > 0; |
@@ -228,7 +230,7 @@ VideoSendStream::VideoSendStream( |
if (config_.suspend_below_min_bitrate) |
vie_encoder_->SuspendBelowMinBitrate(); |
- channel_group_->AddEncoder(vie_encoder_.get()); |
+ congestion_controller_->AddEncoder(vie_encoder_.get()); |
encoder_feedback_->AddEncoder(ssrcs, vie_encoder_.get()); |
vie_channel_->RegisterSendChannelRtcpStatisticsCallback(&stats_proxy_); |
@@ -254,16 +256,18 @@ VideoSendStream::~VideoSendStream() { |
config_.encoder_settings.payload_type); |
call_stats_->DeregisterStatsObserver(vie_channel_->GetStatsObserver()); |
- channel_group_->SetChannelRembStatus(false, false, vie_channel_->rtp_rtcp()); |
+ congestion_controller_->SetChannelRembStatus(false, false, |
+ vie_channel_->rtp_rtcp()); |
// Remove the feedback, stop all encoding threads and processing. This must be |
// done before deleting the channel. |
- channel_group_->RemoveEncoder(vie_encoder_.get()); |
+ congestion_controller_->RemoveEncoder(vie_encoder_.get()); |
encoder_feedback_->RemoveEncoder(vie_encoder_.get()); |
vie_encoder_->StopThreadsAndRemoveSharedMembers(); |
uint32_t remote_ssrc = vie_channel_->GetRemoteSSRC(); |
- channel_group_->GetRemoteBitrateEstimator(false)->RemoveStream(remote_ssrc); |
+ congestion_controller_->GetRemoteBitrateEstimator(false)->RemoveStream( |
+ remote_ssrc); |
} |
VideoCaptureInput* VideoSendStream::Input() { |