Rename ChannelGroup to CongestionController and move to webrtc/call/.
BUG=webrtc:5079
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1419803002 .
Cr-Commit-Position: refs/heads/master@{#10358}
diff --git a/webrtc/call/BUILD.gn b/webrtc/call/BUILD.gn
index ebd30db..3abc762 100644
--- a/webrtc/call/BUILD.gn
+++ b/webrtc/call/BUILD.gn
@@ -11,6 +11,7 @@
source_set("call") {
sources = [
"call.cc",
+ "congestion_controller.cc",
"transport_adapter.cc",
"transport_adapter.h",
]
diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
index eff441c..b142453 100644
--- a/webrtc/call/call.cc
+++ b/webrtc/call/call.cc
@@ -21,6 +21,7 @@
#include "webrtc/base/thread_checker.h"
#include "webrtc/base/trace_event.h"
#include "webrtc/call.h"
+#include "webrtc/call/congestion_controller.h"
#include "webrtc/call/rtc_event_log.h"
#include "webrtc/common.h"
#include "webrtc/config.h"
@@ -96,7 +97,7 @@
const int num_cpu_cores_;
const rtc::scoped_ptr<ProcessThread> module_process_thread_;
const rtc::scoped_ptr<CallStats> call_stats_;
- const rtc::scoped_ptr<ChannelGroup> channel_group_;
+ const rtc::scoped_ptr<CongestionController> congestion_controller_;
Call::Config config_;
rtc::ThreadChecker configuration_thread_checker_;
@@ -141,8 +142,8 @@
: num_cpu_cores_(CpuInfo::DetectNumberOfCores()),
module_process_thread_(ProcessThread::Create("ModuleProcessThread")),
call_stats_(new CallStats()),
- channel_group_(new ChannelGroup(module_process_thread_.get(),
- call_stats_.get())),
+ congestion_controller_(new CongestionController(
+ module_process_thread_.get(), call_stats_.get())),
config_(config),
network_enabled_(true),
receive_crit_(RWLockWrapper::CreateRWLock()),
@@ -168,9 +169,10 @@
module_process_thread_->Start();
module_process_thread_->RegisterModule(call_stats_.get());
- channel_group_->SetBweBitrates(config_.bitrate_config.min_bitrate_bps,
- config_.bitrate_config.start_bitrate_bps,
- config_.bitrate_config.max_bitrate_bps);
+ congestion_controller_->SetBweBitrates(
+ config_.bitrate_config.min_bitrate_bps,
+ config_.bitrate_config.start_bitrate_bps,
+ config_.bitrate_config.max_bitrate_bps);
}
Call::~Call() {
@@ -235,7 +237,7 @@
TRACE_EVENT0("webrtc", "Call::CreateAudioReceiveStream");
RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
AudioReceiveStream* receive_stream = new AudioReceiveStream(
- channel_group_->GetRemoteBitrateEstimator(false), config);
+ congestion_controller_->GetRemoteBitrateEstimator(false), config);
{
WriteLockScoped write_lock(*receive_crit_);
RTC_DCHECK(audio_receive_ssrcs_.find(config.rtp.remote_ssrc) ==
@@ -277,9 +279,10 @@
// TODO(mflodman): Base the start bitrate on a current bandwidth estimate, if
// the call has already started.
- VideoSendStream* send_stream = new VideoSendStream(num_cpu_cores_,
- module_process_thread_.get(), call_stats_.get(), channel_group_.get(),
- config, encoder_config, suspended_video_send_ssrcs_);
+ VideoSendStream* send_stream = new VideoSendStream(
+ num_cpu_cores_, module_process_thread_.get(), call_stats_.get(),
+ congestion_controller_.get(), config, encoder_config,
+ suspended_video_send_ssrcs_);
// This needs to be taken before send_crit_ as both locks need to be held
// while changing network state.
@@ -338,8 +341,8 @@
TRACE_EVENT0("webrtc", "Call::CreateVideoReceiveStream");
RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
VideoReceiveStream* receive_stream = new VideoReceiveStream(
- num_cpu_cores_, channel_group_.get(), config, config_.voice_engine,
- module_process_thread_.get(), call_stats_.get());
+ num_cpu_cores_, congestion_controller_.get(), config,
+ config_.voice_engine, module_process_thread_.get(), call_stats_.get());
// This needs to be taken before receive_crit_ as both locks need to be held
// while changing network state.
@@ -401,14 +404,15 @@
Stats stats;
// Fetch available send/receive bitrates.
uint32_t send_bandwidth = 0;
- channel_group_->GetBitrateController()->AvailableBandwidth(&send_bandwidth);
+ congestion_controller_->GetBitrateController()->AvailableBandwidth(
+ &send_bandwidth);
std::vector<unsigned int> ssrcs;
uint32_t recv_bandwidth = 0;
- channel_group_->GetRemoteBitrateEstimator(false)->LatestEstimate(
+ congestion_controller_->GetRemoteBitrateEstimator(false)->LatestEstimate(
&ssrcs, &recv_bandwidth);
stats.send_bandwidth_bps = send_bandwidth;
stats.recv_bandwidth_bps = recv_bandwidth;
- stats.pacer_delay_ms = channel_group_->GetPacerQueuingDelayMs();
+ stats.pacer_delay_ms = congestion_controller_->GetPacerQueuingDelayMs();
{
ReadLockScoped read_lock(*send_crit_);
// TODO(solenberg): Add audio send streams.
@@ -439,9 +443,9 @@
return;
}
config_.bitrate_config = bitrate_config;
- channel_group_->SetBweBitrates(bitrate_config.min_bitrate_bps,
- bitrate_config.start_bitrate_bps,
- bitrate_config.max_bitrate_bps);
+ congestion_controller_->SetBweBitrates(bitrate_config.min_bitrate_bps,
+ bitrate_config.start_bitrate_bps,
+ bitrate_config.max_bitrate_bps);
}
void Call::SignalNetworkState(NetworkState state) {
@@ -450,7 +454,7 @@
// to guarantee a consistent state across streams.
rtc::CritScope lock(&network_enabled_crit_);
network_enabled_ = state == kNetworkUp;
- channel_group_->SignalNetworkState(state);
+ congestion_controller_->SignalNetworkState(state);
{
ReadLockScoped write_lock(*send_crit_);
for (auto& kv : audio_send_ssrcs_) {
@@ -470,7 +474,7 @@
void Call::OnSentPacket(const rtc::SentPacket& sent_packet) {
RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
- channel_group_->OnSentPacket(sent_packet);
+ congestion_controller_->OnSentPacket(sent_packet);
}
void Call::ConfigureSync(const std::string& sync_group) {
diff --git a/webrtc/video_engine/vie_channel_group.cc b/webrtc/call/congestion_controller.cc
similarity index 86%
rename from webrtc/video_engine/vie_channel_group.cc
rename to webrtc/call/congestion_controller.cc
index 62d6040..664e53c 100644
--- a/webrtc/video_engine/vie_channel_group.cc
+++ b/webrtc/call/congestion_controller.cc
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "webrtc/video_engine/vie_channel_group.h"
+#include "webrtc/call/congestion_controller.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/thread_annotations.h"
@@ -143,8 +143,8 @@
} // namespace
-ChannelGroup::ChannelGroup(ProcessThread* process_thread,
- CallStats* call_stats)
+CongestionController::CongestionController(ProcessThread* process_thread,
+ CallStats* call_stats)
: remb_(new VieRemb()),
bitrate_allocator_(new BitrateAllocator()),
packet_router_(new PacketRouter()),
@@ -178,7 +178,7 @@
process_thread->RegisterModule(bitrate_controller_.get());
}
-ChannelGroup::~ChannelGroup() {
+CongestionController::~CongestionController() {
pacer_thread_->Stop();
pacer_thread_->DeRegisterModule(pacer_.get());
process_thread_->DeRegisterModule(bitrate_controller_.get());
@@ -191,12 +191,12 @@
RTC_DCHECK(encoders_.empty());
}
-void ChannelGroup::AddEncoder(ViEEncoder* encoder) {
+void CongestionController::AddEncoder(ViEEncoder* encoder) {
rtc::CritScope lock(&encoder_crit_);
encoders_.push_back(encoder);
}
-void ChannelGroup::RemoveEncoder(ViEEncoder* encoder) {
+void CongestionController::RemoveEncoder(ViEEncoder* encoder) {
rtc::CritScope lock(&encoder_crit_);
for (auto it = encoders_.begin(); it != encoders_.end(); ++it) {
if (*it == encoder) {
@@ -206,9 +206,9 @@
}
}
-void ChannelGroup::SetBweBitrates(int min_bitrate_bps,
- int start_bitrate_bps,
- int max_bitrate_bps) {
+void CongestionController::SetBweBitrates(int min_bitrate_bps,
+ int start_bitrate_bps,
+ int max_bitrate_bps) {
if (start_bitrate_bps > 0)
bitrate_controller_->SetStartBitrate(start_bitrate_bps);
bitrate_controller_->SetMinMaxBitrate(min_bitrate_bps, max_bitrate_bps);
@@ -220,11 +220,11 @@
min_bitrate_bps_ = min_bitrate_bps;
}
-BitrateController* ChannelGroup::GetBitrateController() const {
+BitrateController* CongestionController::GetBitrateController() const {
return bitrate_controller_.get();
}
-RemoteBitrateEstimator* ChannelGroup::GetRemoteBitrateEstimator(
+RemoteBitrateEstimator* CongestionController::GetRemoteBitrateEstimator(
bool send_side_bwe) const {
if (send_side_bwe)
@@ -233,7 +233,8 @@
return remote_bitrate_estimator_.get();
}
-TransportFeedbackObserver* ChannelGroup::GetTransportFeedbackObserver() {
+TransportFeedbackObserver*
+CongestionController::GetTransportFeedbackObserver() {
if (transport_feedback_adapter_.get() == nullptr) {
transport_feedback_adapter_.reset(new TransportFeedbackAdapter(
bitrate_controller_->CreateRtcpBandwidthObserver(),
@@ -248,14 +249,14 @@
return transport_feedback_adapter_.get();
}
-int64_t ChannelGroup::GetPacerQueuingDelayMs() const {
+int64_t CongestionController::GetPacerQueuingDelayMs() const {
return pacer_->QueueInMs();
}
// TODO(mflodman): Move out of this class.
-void ChannelGroup::SetChannelRembStatus(bool sender,
- bool receiver,
- RtpRtcp* rtp_module) {
+void CongestionController::SetChannelRembStatus(bool sender,
+ bool receiver,
+ RtpRtcp* rtp_module) {
rtp_module->SetREMBStatus(sender || receiver);
if (sender) {
remb_->AddRembSender(rtp_module);
@@ -269,7 +270,7 @@
}
}
-void ChannelGroup::SignalNetworkState(NetworkState state) {
+void CongestionController::SignalNetworkState(NetworkState state) {
if (state == kNetworkUp) {
pacer_->Resume();
} else {
@@ -277,10 +278,10 @@
}
}
-// TODO(mflodman): Move this logic out from ChannelGroup.
-void ChannelGroup::OnNetworkChanged(uint32_t target_bitrate_bps,
- uint8_t fraction_loss,
- int64_t rtt) {
+// TODO(mflodman): Move this logic out from CongestionController.
+void CongestionController::OnNetworkChanged(uint32_t target_bitrate_bps,
+ uint8_t fraction_loss,
+ int64_t rtt) {
bitrate_allocator_->OnNetworkChanged(target_bitrate_bps, fraction_loss, rtt);
int pad_up_to_bitrate_bps = 0;
{
@@ -294,7 +295,7 @@
pad_up_to_bitrate_bps / 1000);
}
-void ChannelGroup::OnSentPacket(const rtc::SentPacket& sent_packet) {
+void CongestionController::OnSentPacket(const rtc::SentPacket& sent_packet) {
if (transport_feedback_adapter_) {
transport_feedback_adapter_->UpdateSendTime(sent_packet.packet_id,
sent_packet.send_time_ms);
diff --git a/webrtc/video_engine/vie_channel_group.h b/webrtc/call/congestion_controller.h
similarity index 81%
rename from webrtc/video_engine/vie_channel_group.h
rename to webrtc/call/congestion_controller.h
index d26ee10..b424234 100644
--- a/webrtc/video_engine/vie_channel_group.h
+++ b/webrtc/call/congestion_controller.h
@@ -8,20 +8,16 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#ifndef WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_GROUP_H_
-#define WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_GROUP_H_
+#ifndef WEBRTC_CALL_CONGESTION_CONTROLLER_H_
+#define WEBRTC_CALL_CONGESTION_CONTROLLER_H_
-#include <list>
-#include <map>
-#include <set>
#include <vector>
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/scoped_ptr.h"
#include "webrtc/base/socket.h"
#include "webrtc/modules/bitrate_controller/include/bitrate_controller.h"
-#include "webrtc/video_receive_stream.h"
-#include "webrtc/video_send_stream.h"
+#include "webrtc/stream.h"
namespace webrtc {
@@ -39,12 +35,10 @@
class ViEEncoder;
class VieRemb;
-// Channel group contains data common for several channels. All channels in the
-// group are assumed to send/receive data to the same end-point.
-class ChannelGroup : public BitrateObserver {
+class CongestionController : public BitrateObserver {
public:
- ChannelGroup(ProcessThread* process_thread, CallStats* call_stats);
- ~ChannelGroup();
+ CongestionController(ProcessThread* process_thread, CallStats* call_stats);
+ ~CongestionController();
void AddEncoder(ViEEncoder* encoder);
void RemoveEncoder(ViEEncoder* encoder);
void SetBweBitrates(int min_bitrate_bps,
@@ -63,7 +57,6 @@
BitrateAllocator* bitrate_allocator() const {
return bitrate_allocator_.get(); }
TransportFeedbackObserver* GetTransportFeedbackObserver();
- RtcpIntraFrameObserver* GetRtcpIntraFrameObserver() const;
// Implements BitrateObserver.
void OnNetworkChanged(uint32_t target_bitrate_bps,
@@ -74,6 +67,7 @@
private:
rtc::scoped_ptr<VieRemb> remb_;
+ // TODO(mflodman): Move bitrate_allocator_ to Call.
rtc::scoped_ptr<BitrateAllocator> bitrate_allocator_;
rtc::scoped_ptr<PacketRouter> packet_router_;
rtc::scoped_ptr<PacedSender> pacer_;
@@ -96,4 +90,4 @@
} // namespace webrtc
-#endif // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_GROUP_H_
+#endif // WEBRTC_CALL_CONGESTION_CONTROLLER_H_
diff --git a/webrtc/call/webrtc_call.gypi b/webrtc/call/webrtc_call.gypi
index 4a606f8..fd70ae8 100644
--- a/webrtc/call/webrtc_call.gypi
+++ b/webrtc/call/webrtc_call.gypi
@@ -15,6 +15,7 @@
],
'webrtc_call_sources': [
'call/call.cc',
+ 'call/congestion_controller.cc',
'call/transport_adapter.cc',
'call/transport_adapter.h',
],
diff --git a/webrtc/video/BUILD.gn b/webrtc/video/BUILD.gn
index a2233c2..408bb36 100644
--- a/webrtc/video/BUILD.gn
+++ b/webrtc/video/BUILD.gn
@@ -24,8 +24,6 @@
"../video_engine/stream_synchronization.h",
"../video_engine/vie_channel.cc",
"../video_engine/vie_channel.h",
- "../video_engine/vie_channel_group.cc",
- "../video_engine/vie_channel_group.h",
"../video_engine/vie_defines.h",
"../video_engine/vie_encoder.cc",
"../video_engine/vie_encoder.h",
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
index 380466a..22c9acb 100644
--- a/webrtc/video/video_receive_stream.cc
+++ b/webrtc/video/video_receive_stream.cc
@@ -15,6 +15,7 @@
#include <string>
#include "webrtc/base/checks.h"
+#include "webrtc/call/congestion_controller.h"
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
#include "webrtc/system_wrappers/interface/clock.h"
#include "webrtc/system_wrappers/interface/logging.h"
@@ -137,30 +138,33 @@
}
} // namespace
-VideoReceiveStream::VideoReceiveStream(int num_cpu_cores,
- ChannelGroup* channel_group,
- const VideoReceiveStream::Config& config,
- webrtc::VoiceEngine* voice_engine,
- ProcessThread* process_thread,
- CallStats* call_stats)
+VideoReceiveStream::VideoReceiveStream(
+ int num_cpu_cores,
+ CongestionController* congestion_controller,
+ const VideoReceiveStream::Config& config,
+ webrtc::VoiceEngine* voice_engine,
+ 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),
+ congestion_controller_(congestion_controller),
call_stats_(call_stats) {
LOG(LS_INFO) << "VideoReceiveStream: " << config_.ToString();
bool send_side_bwe = UseSendSideBwe(config_.rtp.extensions);
RemoteBitrateEstimator* bitrate_estimator =
- channel_group_->GetRemoteBitrateEstimator(send_side_bwe);
+ congestion_controller_->GetRemoteBitrateEstimator(send_side_bwe);
vie_channel_.reset(new ViEChannel(
num_cpu_cores, &transport_adapter_, process_thread, nullptr,
- channel_group_->GetBitrateController()->CreateRtcpBandwidthObserver(),
+ congestion_controller_->GetBitrateController()->
+ CreateRtcpBandwidthObserver(),
nullptr, bitrate_estimator, call_stats_->rtcp_rtt_stats(),
- channel_group_->pacer(), channel_group_->packet_router(), 1, false));
+ congestion_controller_->pacer(), congestion_controller_->packet_router(),
+ 1, false));
RTC_CHECK(vie_channel_->Init() == 0);
@@ -195,8 +199,8 @@
vie_channel_->SetUseRtxPayloadMappingOnRestore(
config_.rtp.use_rtx_payload_mapping_on_restore);
- channel_group_->SetChannelRembStatus(false, config_.rtp.remb,
- vie_channel_->rtp_rtcp());
+ congestion_controller_->SetChannelRembStatus(false, config_.rtp.remb,
+ vie_channel_->rtp_rtcp());
for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
const std::string& extension = config_.rtp.extensions[i].name;
@@ -287,12 +291,13 @@
vie_channel_->DeRegisterExternalDecoder(config_.decoders[i].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());
uint32_t remote_ssrc = vie_channel_->GetRemoteSSRC();
bool send_side_bwe = UseSendSideBwe(config_.rtp.extensions);
- channel_group_->GetRemoteBitrateEstimator(send_side_bwe)->RemoveStream(
- remote_ssrc);
+ congestion_controller_->GetRemoteBitrateEstimator(send_side_bwe)->
+ RemoveStream(remote_ssrc);
}
void VideoReceiveStream::Start() {
diff --git a/webrtc/video/video_receive_stream.h b/webrtc/video/video_receive_stream.h
index 06adb72..f86f76d 100644
--- a/webrtc/video/video_receive_stream.h
+++ b/webrtc/video/video_receive_stream.h
@@ -24,13 +24,13 @@
#include "webrtc/video/receive_statistics_proxy.h"
#include "webrtc/video_encoder.h"
#include "webrtc/video_engine/vie_channel.h"
-#include "webrtc/video_engine/vie_channel_group.h"
#include "webrtc/video_engine/vie_encoder.h"
#include "webrtc/video_receive_stream.h"
namespace webrtc {
class CallStats;
+class CongestionController;
class VoiceEngine;
namespace internal {
@@ -41,7 +41,7 @@
public EncodedImageCallback {
public:
VideoReceiveStream(int num_cpu_cores,
- ChannelGroup* channel_group,
+ CongestionController* congestion_controller,
const VideoReceiveStream::Config& config,
webrtc::VoiceEngine* voice_engine,
ProcessThread* process_thread,
@@ -82,7 +82,7 @@
const VideoReceiveStream::Config config_;
Clock* const clock_;
- ChannelGroup* const channel_group_;
+ CongestionController* const congestion_controller_;
CallStats* const call_stats_;
rtc::scoped_ptr<IncomingVideoStream> incoming_video_stream_;
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
index b9edbba..5ba7c6f 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 @@
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 @@
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 @@
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 @@
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 @@
}
}
- 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 @@
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 @@
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() {
diff --git a/webrtc/video/video_send_stream.h b/webrtc/video/video_send_stream.h
index d61e50f..d94b25a 100644
--- a/webrtc/video/video_send_stream.h
+++ b/webrtc/video/video_send_stream.h
@@ -28,7 +28,7 @@
namespace webrtc {
class CallStats;
-class ChannelGroup;
+class CongestionController;
class EncoderStateFeedback;
class ProcessThread;
class ViEChannel;
@@ -42,7 +42,7 @@
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);
@@ -80,7 +80,7 @@
ProcessThread* const module_process_thread_;
CallStats* const call_stats_;
- ChannelGroup* const channel_group_;
+ CongestionController* const congestion_controller_;
rtc::scoped_ptr<VideoCaptureInput> input_;
rtc::scoped_ptr<ViEChannel> vie_channel_;
diff --git a/webrtc/video/webrtc_video.gypi b/webrtc/video/webrtc_video.gypi
index 66ab577..f9dbbce 100644
--- a/webrtc/video/webrtc_video.gypi
+++ b/webrtc/video/webrtc_video.gypi
@@ -52,8 +52,6 @@
'video_engine/stream_synchronization.h',
'video_engine/vie_channel.cc',
'video_engine/vie_channel.h',
- 'video_engine/vie_channel_group.cc',
- 'video_engine/vie_channel_group.h',
'video_engine/vie_defines.h',
'video_engine/vie_encoder.cc',
'video_engine/vie_encoder.h',