| Index: webrtc/call/call.cc
|
| diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
|
| index 652cfb0294906fd68095e28ab0ee42e495e3ee71..78372a3532a4ee18ff05b84b597c71b744a2c5b8 100644
|
| --- a/webrtc/call/call.cc
|
| +++ b/webrtc/call/call.cc
|
| @@ -41,6 +41,7 @@
|
| #include "webrtc/video/call_stats.h"
|
| #include "webrtc/video/video_receive_stream.h"
|
| #include "webrtc/video/video_send_stream.h"
|
| +#include "webrtc/video/vie_remb.h"
|
| #include "webrtc/voice_engine/include/voe_codec.h"
|
|
|
| namespace webrtc {
|
| @@ -165,6 +166,7 @@ class Call : public webrtc::Call, public PacketReceiver,
|
| int64_t pacer_bitrate_sum_kbits_ GUARDED_BY(&bitrate_crit_);
|
| int64_t num_bitrate_updates_ GUARDED_BY(&bitrate_crit_);
|
|
|
| + VieRemb remb_;
|
| const rtc::scoped_ptr<CongestionController> congestion_controller_;
|
|
|
| RTC_DISALLOW_COPY_AND_ASSIGN(Call);
|
| @@ -196,10 +198,13 @@ Call::Call(const Call::Config& config)
|
| estimated_send_bitrate_sum_kbits_(0),
|
| pacer_bitrate_sum_kbits_(0),
|
| num_bitrate_updates_(0),
|
| + remb_(clock_),
|
| congestion_controller_(
|
| - new CongestionController(module_process_thread_.get(),
|
| + new CongestionController(clock_,
|
| + module_process_thread_.get(),
|
| call_stats_.get(),
|
| - this)) {
|
| + this,
|
| + &remb_)) {
|
| RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
|
| RTC_DCHECK_GE(config.bitrate_config.min_bitrate_bps, 0);
|
| RTC_DCHECK_GE(config.bitrate_config.start_bitrate_bps,
|
| @@ -226,6 +231,7 @@ Call::Call(const Call::Config& config)
|
| }
|
|
|
| Call::~Call() {
|
| + RTC_DCHECK(!remb_.InUse());
|
| RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
|
| UpdateSendHistograms();
|
| UpdateReceiveHistograms();
|
| @@ -379,7 +385,7 @@ webrtc::VideoSendStream* Call::CreateVideoSendStream(
|
| // the call has already started.
|
| VideoSendStream* send_stream = new VideoSendStream(
|
| num_cpu_cores_, module_process_thread_.get(), call_stats_.get(),
|
| - congestion_controller_.get(), bitrate_allocator_.get(), config,
|
| + congestion_controller_.get(), &remb_, bitrate_allocator_.get(), config,
|
| encoder_config, suspended_video_send_ssrcs_);
|
|
|
| if (!network_enabled_)
|
| @@ -437,8 +443,8 @@ webrtc::VideoReceiveStream* Call::CreateVideoReceiveStream(
|
| TRACE_EVENT0("webrtc", "Call::CreateVideoReceiveStream");
|
| RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
|
| VideoReceiveStream* receive_stream = new VideoReceiveStream(
|
| - num_cpu_cores_, congestion_controller_.get(), config,
|
| - voice_engine(), module_process_thread_.get(), call_stats_.get());
|
| + num_cpu_cores_, congestion_controller_.get(), config, voice_engine(),
|
| + module_process_thread_.get(), call_stats_.get(), &remb_);
|
|
|
| WriteLockScoped write_lock(*receive_crit_);
|
| RTC_DCHECK(video_receive_ssrcs_.find(config.rtp.remote_ssrc) ==
|
|
|