Chromium Code Reviews| 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..b9fb719eb78e8bccf73917d37b72cd79cc4b452a 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,14 @@ 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(); |
| } |
| 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); |
|
stefan-webrtc
2015/10/21 11:16:45
Looks like this could be moved out fairly easily.
mflodman
2015/10/21 11:24:19
Good point, I'll add a TODO and follow up right aw
|
| if (sender) { |
| remb_->AddRembSender(rtp_module); |
| } else { |