| Index: webrtc/video/video_receive_stream.cc
|
| diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
|
| index 7779fddd569bece3461280e104a69dfd2924ac65..6e7ae10cfe05f14602b4c1f76eb1f136282642d9 100644
|
| --- a/webrtc/video/video_receive_stream.cc
|
| +++ b/webrtc/video/video_receive_stream.cc
|
| @@ -22,6 +22,7 @@
|
| #include "webrtc/system_wrappers/include/clock.h"
|
| #include "webrtc/video/call_stats.h"
|
| #include "webrtc/video/receive_statistics_proxy.h"
|
| +#include "webrtc/video/vie_remb.h"
|
| #include "webrtc/video_receive_stream.h"
|
|
|
| namespace webrtc {
|
| @@ -144,13 +145,15 @@ VideoReceiveStream::VideoReceiveStream(
|
| const VideoReceiveStream::Config& config,
|
| webrtc::VoiceEngine* voice_engine,
|
| ProcessThread* process_thread,
|
| - CallStats* call_stats)
|
| + CallStats* call_stats,
|
| + VieRemb* remb)
|
| : transport_adapter_(config.rtcp_send_transport),
|
| encoded_frame_proxy_(config.pre_decode_callback),
|
| config_(config),
|
| clock_(Clock::GetRealTimeClock()),
|
| congestion_controller_(congestion_controller),
|
| - call_stats_(call_stats) {
|
| + call_stats_(call_stats),
|
| + remb_(remb) {
|
| LOG(LS_INFO) << "VideoReceiveStream: " << config_.ToString();
|
|
|
| bool send_side_bwe =
|
| @@ -198,8 +201,11 @@ VideoReceiveStream::VideoReceiveStream(
|
| vie_channel_->SetUseRtxPayloadMappingOnRestore(
|
| config_.rtp.use_rtx_payload_mapping_on_restore);
|
|
|
| - congestion_controller_->SetChannelRembStatus(false, config_.rtp.remb,
|
| - vie_channel_->rtp_rtcp());
|
| + RtpRtcp* rtp_module = vie_channel_->rtp_rtcp();
|
| + if (config_.rtp.remb) {
|
| + rtp_module->SetREMBStatus(true);
|
| + remb_->AddReceiveChannel(rtp_module);
|
| + }
|
|
|
| for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
|
| const std::string& extension = config_.rtp.extensions[i].name;
|
| @@ -293,8 +299,10 @@ VideoReceiveStream::~VideoReceiveStream() {
|
| vie_channel_->RegisterPreDecodeImageCallback(nullptr);
|
|
|
| call_stats_->DeregisterStatsObserver(vie_channel_->GetStatsObserver());
|
| - congestion_controller_->SetChannelRembStatus(false, false,
|
| - vie_channel_->rtp_rtcp());
|
| +
|
| + RtpRtcp* rtp_module = vie_channel_->rtp_rtcp();
|
| + rtp_module->SetREMBStatus(false);
|
| + remb_->RemoveReceiveChannel(rtp_module);
|
|
|
| uint32_t remote_ssrc = vie_channel_->GetRemoteSSRC();
|
| bool send_side_bwe = UseSendSideBwe(config_.rtp.extensions);
|
|
|