| Index: webrtc/video_engine/vie_channel_group.cc
|
| diff --git a/webrtc/video_engine/vie_channel_group.cc b/webrtc/video_engine/vie_channel_group.cc
|
| index 75865aec80371198a62881e4eace2f68a8e76648..62d6040e01525c3b172c65a60c602317f81045be 100644
|
| --- a/webrtc/video_engine/vie_channel_group.cc
|
| +++ b/webrtc/video_engine/vie_channel_group.cc
|
| @@ -25,9 +25,7 @@
|
| #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
|
| #include "webrtc/system_wrappers/interface/logging.h"
|
| #include "webrtc/video_engine/call_stats.h"
|
| -#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_encoder.h"
|
| #include "webrtc/video_engine/vie_remb.h"
|
| #include "webrtc/voice_engine/include/voe_video_sync.h"
|
| @@ -145,10 +143,10 @@ class WrappingBitrateEstimator : public RemoteBitrateEstimator {
|
|
|
| } // namespace
|
|
|
| -ChannelGroup::ChannelGroup(ProcessThread* process_thread)
|
| +ChannelGroup::ChannelGroup(ProcessThread* process_thread,
|
| + CallStats* call_stats)
|
| : remb_(new VieRemb()),
|
| bitrate_allocator_(new BitrateAllocator()),
|
| - call_stats_(new CallStats()),
|
| packet_router_(new PacketRouter()),
|
| pacer_(new PacedSender(Clock::GetRealTimeClock(),
|
| packet_router_.get(),
|
| @@ -161,8 +159,8 @@ ChannelGroup::ChannelGroup(ProcessThread* process_thread)
|
| remote_estimator_proxy_(
|
| new RemoteEstimatorProxy(Clock::GetRealTimeClock(),
|
| packet_router_.get())),
|
| - encoder_state_feedback_(new EncoderStateFeedback()),
|
| process_thread_(process_thread),
|
| + call_stats_(call_stats),
|
| pacer_thread_(ProcessThread::Create("PacerThread")),
|
| // Constructed last as this object calls the provided callback on
|
| // construction.
|
| @@ -177,7 +175,6 @@ ChannelGroup::ChannelGroup(ProcessThread* process_thread)
|
|
|
| process_thread->RegisterModule(remote_estimator_proxy_.get());
|
| process_thread->RegisterModule(remote_bitrate_estimator_.get());
|
| - process_thread->RegisterModule(call_stats_.get());
|
| process_thread->RegisterModule(bitrate_controller_.get());
|
| }
|
|
|
| @@ -185,7 +182,6 @@ ChannelGroup::~ChannelGroup() {
|
| pacer_thread_->Stop();
|
| pacer_thread_->DeRegisterModule(pacer_.get());
|
| process_thread_->DeRegisterModule(bitrate_controller_.get());
|
| - process_thread_->DeRegisterModule(call_stats_.get());
|
| process_thread_->DeRegisterModule(remote_bitrate_estimator_.get());
|
| process_thread_->DeRegisterModule(remote_estimator_proxy_.get());
|
| call_stats_->DeregisterStatsObserver(remote_bitrate_estimator_.get());
|
| @@ -195,15 +191,12 @@ ChannelGroup::~ChannelGroup() {
|
| RTC_DCHECK(encoders_.empty());
|
| }
|
|
|
| -void ChannelGroup::AddEncoder(const std::vector<uint32_t>& ssrcs,
|
| - ViEEncoder* encoder) {
|
| - encoder_state_feedback_->AddEncoder(ssrcs, encoder);
|
| +void ChannelGroup::AddEncoder(ViEEncoder* encoder) {
|
| rtc::CritScope lock(&encoder_crit_);
|
| encoders_.push_back(encoder);
|
| }
|
|
|
| void ChannelGroup::RemoveEncoder(ViEEncoder* encoder) {
|
| - encoder_state_feedback_->RemoveEncoder(encoder);
|
| rtc::CritScope lock(&encoder_crit_);
|
| for (auto it = encoders_.begin(); it != encoders_.end(); ++it) {
|
| if (*it == encoder) {
|
| @@ -240,10 +233,6 @@ RemoteBitrateEstimator* ChannelGroup::GetRemoteBitrateEstimator(
|
| return remote_bitrate_estimator_.get();
|
| }
|
|
|
| -CallStats* ChannelGroup::GetCallStats() const {
|
| - return call_stats_.get();
|
| -}
|
| -
|
| TransportFeedbackObserver* ChannelGroup::GetTransportFeedbackObserver() {
|
| if (transport_feedback_adapter_.get() == nullptr) {
|
| transport_feedback_adapter_.reset(new TransportFeedbackAdapter(
|
| @@ -259,21 +248,15 @@ TransportFeedbackObserver* ChannelGroup::GetTransportFeedbackObserver() {
|
| return transport_feedback_adapter_.get();
|
| }
|
|
|
| -RtcpIntraFrameObserver* ChannelGroup::GetRtcpIntraFrameObserver() const {
|
| - return encoder_state_feedback_->GetRtcpIntraFrameObserver();
|
| -}
|
| -
|
| int64_t ChannelGroup::GetPacerQueuingDelayMs() const {
|
| return pacer_->QueueInMs();
|
| }
|
|
|
| +// TODO(mflodman): Move out of this class.
|
| void ChannelGroup::SetChannelRembStatus(bool sender,
|
| bool receiver,
|
| - ViEChannel* channel) {
|
| - // Update the channel state.
|
| - channel->EnableRemb(sender || receiver);
|
| - // Update the REMB instance with necessary RTP modules.
|
| - RtpRtcp* rtp_module = channel->rtp_rtcp();
|
| + RtpRtcp* rtp_module) {
|
| + rtp_module->SetREMBStatus(sender || receiver);
|
| if (sender) {
|
| remb_->AddRembSender(rtp_module);
|
| } else {
|
|
|