| 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() {
|
|
|