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

Side by Side Diff: webrtc/modules/congestion_controller/send_side_congestion_controller.cc

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: DeathTest fix. Created 3 years, 9 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 last_reported_rtt_(0), 76 last_reported_rtt_(0),
77 network_state_(kNetworkUp), 77 network_state_(kNetworkUp),
78 min_bitrate_bps_(congestion_controller::GetMinBitrateBps()), 78 min_bitrate_bps_(congestion_controller::GetMinBitrateBps()),
79 delay_based_bwe_(new DelayBasedBwe(event_log_, clock_)) { 79 delay_based_bwe_(new DelayBasedBwe(event_log_, clock_)) {
80 delay_based_bwe_->SetMinBitrate(min_bitrate_bps_); 80 delay_based_bwe_->SetMinBitrate(min_bitrate_bps_);
81 worker_thread_checker_.DetachFromThread(); 81 worker_thread_checker_.DetachFromThread();
82 } 82 }
83 83
84 SendSideCongestionController::~SendSideCongestionController() {} 84 SendSideCongestionController::~SendSideCongestionController() {}
85 85
86 void SendSideCongestionController::RegisterTransportFeedbackAdapterObserver(
87 TransportFeedbackAdapterObserver* observer) {
88 transport_feedback_adapter_.RegisterTransportFeedbackAdapterObserver(
89 observer);
90 }
91
92 void SendSideCongestionController::DeRegisterTransportFeedbackAdapterObserver(
93 TransportFeedbackAdapterObserver* observer) {
94 transport_feedback_adapter_.DeRegisterTransportFeedbackAdapterObserver(
95 observer);
96 }
97
86 void SendSideCongestionController::SetBweBitrates(int min_bitrate_bps, 98 void SendSideCongestionController::SetBweBitrates(int min_bitrate_bps,
87 int start_bitrate_bps, 99 int start_bitrate_bps,
88 int max_bitrate_bps) { 100 int max_bitrate_bps) {
89 ClampBitrates(&start_bitrate_bps, &min_bitrate_bps, &max_bitrate_bps); 101 ClampBitrates(&start_bitrate_bps, &min_bitrate_bps, &max_bitrate_bps);
90 bitrate_controller_->SetBitrates(start_bitrate_bps, min_bitrate_bps, 102 bitrate_controller_->SetBitrates(start_bitrate_bps, min_bitrate_bps,
91 max_bitrate_bps); 103 max_bitrate_bps);
92 104
93 probe_controller_->SetBitrates(min_bitrate_bps, start_bitrate_bps, 105 probe_controller_->SetBitrates(min_bitrate_bps, start_bitrate_bps,
94 max_bitrate_bps); 106 max_bitrate_bps);
95 107
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return bitrate_controller_->TimeUntilNextProcess(); 208 return bitrate_controller_->TimeUntilNextProcess();
197 } 209 }
198 210
199 void SendSideCongestionController::Process() { 211 void SendSideCongestionController::Process() {
200 bitrate_controller_->Process(); 212 bitrate_controller_->Process();
201 probe_controller_->Process(); 213 probe_controller_->Process();
202 MaybeTriggerOnNetworkChanged(); 214 MaybeTriggerOnNetworkChanged();
203 } 215 }
204 216
205 void SendSideCongestionController::AddPacket( 217 void SendSideCongestionController::AddPacket(
218 uint32_t ssrc,
206 uint16_t sequence_number, 219 uint16_t sequence_number,
207 size_t length, 220 size_t length,
208 const PacedPacketInfo& pacing_info) { 221 const PacedPacketInfo& pacing_info) {
209 transport_feedback_adapter_.AddPacket(sequence_number, length, pacing_info); 222 transport_feedback_adapter_.AddPacket(
223 ssrc, sequence_number, length, pacing_info);
210 } 224 }
211 225
212 void SendSideCongestionController::OnTransportFeedback( 226 void SendSideCongestionController::OnTransportFeedback(
213 const rtcp::TransportFeedback& feedback) { 227 const rtcp::TransportFeedback& feedback) {
214 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); 228 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
215 transport_feedback_adapter_.OnTransportFeedback(feedback); 229 transport_feedback_adapter_.OnTransportFeedback(feedback);
216 std::vector<PacketFeedback> feedback_vector = 230 std::vector<PacketFeedback> feedback_vector =
217 transport_feedback_adapter_.GetTransportFeedbackVector(); 231 transport_feedback_adapter_.GetTransportFeedbackVector();
218 if (feedback_vector.empty()) 232 if (feedback_vector.empty())
219 return; 233 return;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 bool SendSideCongestionController::IsSendQueueFull() const { 298 bool SendSideCongestionController::IsSendQueueFull() const {
285 return pacer_->ExpectedQueueTimeMs() > PacedSender::kMaxQueueLengthMs; 299 return pacer_->ExpectedQueueTimeMs() > PacedSender::kMaxQueueLengthMs;
286 } 300 }
287 301
288 bool SendSideCongestionController::IsNetworkDown() const { 302 bool SendSideCongestionController::IsNetworkDown() const {
289 rtc::CritScope cs(&network_state_lock_); 303 rtc::CritScope cs(&network_state_lock_);
290 return network_state_ == kNetworkDown; 304 return network_state_ == kNetworkDown;
291 } 305 }
292 306
293 } // namespace webrtc 307 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698