Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Side by Side Diff: webrtc/call/congestion_controller.cc

Issue 1535963002: Wire-up BWE feedback for audio receive streams. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix a test I forgot to run. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 int min_bitrate_bps_; 140 int min_bitrate_bps_;
141 141
142 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WrappingBitrateEstimator); 142 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WrappingBitrateEstimator);
143 }; 143 };
144 144
145 } // namespace 145 } // namespace
146 146
147 CongestionController::CongestionController(ProcessThread* process_thread, 147 CongestionController::CongestionController(ProcessThread* process_thread,
148 CallStats* call_stats, 148 CallStats* call_stats,
149 BitrateObserver* bitrate_observer) 149 BitrateObserver* bitrate_observer)
150 : remb_(new VieRemb(Clock::GetRealTimeClock())), 150 : remb_(new VieRemb(Clock::GetRealTimeClock())),
the sun 2016/01/11 11:47:19 separate CL? We now have the MockCC depending on r
stefan-webrtc 2016/01/11 17:15:48 Maybe, on the other hand it will never be affected
the sun 2016/01/12 10:24:13 However confusingly phrased, my concern was really
stefan-webrtc 2016/01/12 11:15:15 I see, then let's leave that to when we actually m
151 packet_router_(new PacketRouter()), 151 packet_router_(new PacketRouter()),
152 pacer_(new PacedSender(Clock::GetRealTimeClock(), 152 pacer_(new PacedSender(Clock::GetRealTimeClock(),
153 packet_router_.get(), 153 packet_router_.get(),
154 BitrateController::kDefaultStartBitrateKbps, 154 BitrateController::kDefaultStartBitrateKbps,
155 PacedSender::kDefaultPaceMultiplier * 155 PacedSender::kDefaultPaceMultiplier *
156 BitrateController::kDefaultStartBitrateKbps, 156 BitrateController::kDefaultStartBitrateKbps,
157 0)), 157 0)),
158 remote_bitrate_estimator_( 158 remote_bitrate_estimator_(
159 new WrappingBitrateEstimator(remb_.get(), Clock::GetRealTimeClock())), 159 new WrappingBitrateEstimator(remb_.get(), Clock::GetRealTimeClock())),
160 remote_estimator_proxy_( 160 remote_estimator_proxy_(
161 new RemoteEstimatorProxy(Clock::GetRealTimeClock(), 161 new RemoteEstimatorProxy(Clock::GetRealTimeClock(),
162 packet_router_.get())), 162 packet_router_.get())),
163 process_thread_(process_thread), 163 process_thread_(process_thread),
164 call_stats_(call_stats), 164 call_stats_(call_stats),
165 pacer_thread_(ProcessThread::Create("PacerThread")), 165 pacer_thread_(ProcessThread::Create("PacerThread")),
166 // Constructed last as this object calls the provided callback on 166 // Constructed last as this object calls the provided callback on
167 // construction. 167 // construction.
168 bitrate_controller_( 168 bitrate_controller_(
169 BitrateController::CreateBitrateController(Clock::GetRealTimeClock(), 169 BitrateController::CreateBitrateController(Clock::GetRealTimeClock(),
170 bitrate_observer)), 170 bitrate_observer)),
171 min_bitrate_bps_(RemoteBitrateEstimator::kDefaultMinBitrateBps) { 171 min_bitrate_bps_(RemoteBitrateEstimator::kDefaultMinBitrateBps) {
172 RTC_DCHECK(bitrate_observer != nullptr);
the sun 2016/01/11 11:47:19 nit: != nullptr not necessary
stefan-webrtc 2016/01/11 17:15:48 Done.
172 call_stats_->RegisterStatsObserver(remote_bitrate_estimator_.get()); 173 call_stats_->RegisterStatsObserver(remote_bitrate_estimator_.get());
173 174
174 pacer_thread_->RegisterModule(pacer_.get()); 175 pacer_thread_->RegisterModule(pacer_.get());
175 pacer_thread_->Start(); 176 pacer_thread_->Start();
176 177
177 process_thread->RegisterModule(remote_estimator_proxy_.get()); 178 process_thread->RegisterModule(remote_estimator_proxy_.get());
178 process_thread->RegisterModule(remote_bitrate_estimator_.get()); 179 process_thread->RegisterModule(remote_bitrate_estimator_.get());
179 process_thread->RegisterModule(bitrate_controller_.get()); 180 process_thread->RegisterModule(bitrate_controller_.get());
180 } 181 }
181 182
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 } 286 }
286 } 287 }
287 288
288 void CongestionController::OnSentPacket(const rtc::SentPacket& sent_packet) { 289 void CongestionController::OnSentPacket(const rtc::SentPacket& sent_packet) {
289 if (transport_feedback_adapter_) { 290 if (transport_feedback_adapter_) {
290 transport_feedback_adapter_->OnSentPacket(sent_packet.packet_id, 291 transport_feedback_adapter_->OnSentPacket(sent_packet.packet_id,
291 sent_packet.send_time_ms); 292 sent_packet.send_time_ms);
292 } 293 }
293 } 294 }
294 } // namespace webrtc 295 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698