| Index: webrtc/audio/audio_receive_stream.cc
|
| diff --git a/webrtc/audio/audio_receive_stream.cc b/webrtc/audio/audio_receive_stream.cc
|
| index 81ffdade5ce62a4029e633b6f70f51d0e623e5b9..8da0616f1d3eb4f531361daf0e16ab5e7faebec9 100644
|
| --- a/webrtc/audio/audio_receive_stream.cc
|
| +++ b/webrtc/audio/audio_receive_stream.cc
|
| @@ -20,7 +20,6 @@
|
| #include "webrtc/base/checks.h"
|
| #include "webrtc/base/logging.h"
|
| #include "webrtc/base/timeutils.h"
|
| -#include "webrtc/modules/congestion_controller/include/congestion_controller.h"
|
| #include "webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
|
| #include "webrtc/voice_engine/channel_proxy.h"
|
| #include "webrtc/voice_engine/include/voe_base.h"
|
| @@ -32,20 +31,6 @@
|
| #include "webrtc/voice_engine/voice_engine_impl.h"
|
|
|
| namespace webrtc {
|
| -namespace {
|
| -
|
| -bool UseSendSideBwe(const webrtc::AudioReceiveStream::Config& config) {
|
| - if (!config.rtp.transport_cc) {
|
| - return false;
|
| - }
|
| - for (const auto& extension : config.rtp.extensions) {
|
| - if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
| -} // namespace
|
|
|
| std::string AudioReceiveStream::Config::Rtp::ToString() const {
|
| std::stringstream ss;
|
| @@ -80,17 +65,20 @@ std::string AudioReceiveStream::Config::ToString() const {
|
|
|
| namespace internal {
|
| AudioReceiveStream::AudioReceiveStream(
|
| - CongestionController* congestion_controller,
|
| + PacketRouter* packet_router,
|
| + RemoteBitrateEstimator* remote_bitrate_estimator,
|
| const webrtc::AudioReceiveStream::Config& config,
|
| const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
|
| webrtc::RtcEventLog* event_log)
|
| - : config_(config),
|
| + : remote_bitrate_estimator_(remote_bitrate_estimator),
|
| + config_(config),
|
| audio_state_(audio_state),
|
| rtp_header_parser_(RtpHeaderParser::Create()) {
|
| LOG(LS_INFO) << "AudioReceiveStream: " << config_.ToString();
|
| RTC_DCHECK_NE(config_.voe_channel_id, -1);
|
| RTC_DCHECK(audio_state_.get());
|
| - RTC_DCHECK(congestion_controller);
|
| + RTC_DCHECK(packet_router);
|
| + RTC_DCHECK(remote_bitrate_estimator);
|
| RTC_DCHECK(rtp_header_parser_);
|
|
|
| VoiceEngineImpl* voe_impl = static_cast<VoiceEngineImpl*>(voice_engine());
|
| @@ -129,12 +117,7 @@ AudioReceiveStream::AudioReceiveStream(
|
| }
|
| }
|
| // Configure bandwidth estimation.
|
| - channel_proxy_->RegisterReceiverCongestionControlObjects(
|
| - congestion_controller->packet_router());
|
| - if (UseSendSideBwe(config)) {
|
| - remote_bitrate_estimator_ =
|
| - congestion_controller->GetRemoteBitrateEstimator(true);
|
| - }
|
| + channel_proxy_->RegisterReceiverCongestionControlObjects(packet_router);
|
| }
|
|
|
| AudioReceiveStream::~AudioReceiveStream() {
|
| @@ -147,9 +130,7 @@ AudioReceiveStream::~AudioReceiveStream() {
|
| channel_proxy_->DeRegisterExternalTransport();
|
| channel_proxy_->ResetCongestionControlObjects();
|
| channel_proxy_->SetRtcEventLog(nullptr);
|
| - if (remote_bitrate_estimator_) {
|
| - remote_bitrate_estimator_->RemoveStream(config_.rtp.remote_ssrc);
|
| - }
|
| + remote_bitrate_estimator_->RemoveStream(config_.rtp.remote_ssrc);
|
| }
|
|
|
| void AudioReceiveStream::Start() {
|
| @@ -288,7 +269,7 @@ bool AudioReceiveStream::DeliverRtp(const uint8_t* packet,
|
| // Only forward if the parsed header has one of the headers necessary for
|
| // bandwidth estimation. RTP timestamps has different rates for audio and
|
| // video and shouldn't be mixed.
|
| - if (remote_bitrate_estimator_ &&
|
| + if (config_.rtp.transport_cc &&
|
| header.extension.hasTransportSequenceNumber) {
|
| int64_t arrival_time_ms = rtc::TimeMillis();
|
| if (packet_time.timestamp >= 0)
|
|
|