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

Side by Side Diff: webrtc/modules/pacing/paced_sender.h

Issue 2719183004: Avoid busy looping in case of send failure when probing. (Closed)
Patch Set: 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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // we can pace out during the current interval. 162 // we can pace out during the current interval.
163 std::unique_ptr<paced_sender::IntervalBudget> media_budget_ 163 std::unique_ptr<paced_sender::IntervalBudget> media_budget_
164 GUARDED_BY(critsect_); 164 GUARDED_BY(critsect_);
165 // This is the padding budget, keeping track of how many bits of padding we're 165 // This is the padding budget, keeping track of how many bits of padding we're
166 // allowed to send out during the current interval. This budget will be 166 // allowed to send out during the current interval. This budget will be
167 // utilized when there's no media to send. 167 // utilized when there's no media to send.
168 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_ 168 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_
169 GUARDED_BY(critsect_); 169 GUARDED_BY(critsect_);
170 170
171 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_); 171 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_);
172 bool probing_send_failure_;
172 // Actual configured bitrates (media_budget_ may temporarily be higher in 173 // Actual configured bitrates (media_budget_ may temporarily be higher in
173 // order to meet pace time constraint). 174 // order to meet pace time constraint).
174 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_); 175 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_);
175 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_); 176 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_);
176 uint32_t max_padding_bitrate_kbps_ GUARDED_BY(critsect_); 177 uint32_t max_padding_bitrate_kbps_ GUARDED_BY(critsect_);
177 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_); 178 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_);
178 179
179 int64_t time_last_update_us_ GUARDED_BY(critsect_); 180 int64_t time_last_update_us_ GUARDED_BY(critsect_);
180 181
181 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_); 182 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_);
182 uint64_t packet_counter_; 183 uint64_t packet_counter_;
183 }; 184 };
184 } // namespace webrtc 185 } // namespace webrtc
185 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_ 186 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/pacing/paced_sender.cc » ('j') | webrtc/modules/pacing/paced_sender.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698