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

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

Issue 2182603002: Bitrate prober and paced sender improvements (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Bitrate prober and paced sender improvements Created 4 years, 5 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 bool SendPacket(const paced_sender::Packet& packet, int probe_cluster_id) 136 bool SendPacket(const paced_sender::Packet& packet, int probe_cluster_id)
137 EXCLUSIVE_LOCKS_REQUIRED(critsect_); 137 EXCLUSIVE_LOCKS_REQUIRED(critsect_);
138 void SendPadding(size_t padding_needed, int probe_cluster_id) 138 void SendPadding(size_t padding_needed, int probe_cluster_id)
139 EXCLUSIVE_LOCKS_REQUIRED(critsect_); 139 EXCLUSIVE_LOCKS_REQUIRED(critsect_);
140 140
141 Clock* const clock_; 141 Clock* const clock_;
142 PacketSender* const packet_sender_; 142 PacketSender* const packet_sender_;
143 143
144 std::unique_ptr<CriticalSectionWrapper> critsect_; 144 std::unique_ptr<CriticalSectionWrapper> critsect_;
145 bool paused_ GUARDED_BY(critsect_); 145 bool paused_ GUARDED_BY(critsect_);
146 bool probing_enabled_;
147 // This is the media budget, keeping track of how many bits of media 146 // This is the media budget, keeping track of how many bits of media
148 // we can pace out during the current interval. 147 // we can pace out during the current interval.
149 std::unique_ptr<paced_sender::IntervalBudget> media_budget_ 148 std::unique_ptr<paced_sender::IntervalBudget> media_budget_
150 GUARDED_BY(critsect_); 149 GUARDED_BY(critsect_);
151 // This is the padding budget, keeping track of how many bits of padding we're 150 // This is the padding budget, keeping track of how many bits of padding we're
152 // allowed to send out during the current interval. This budget will be 151 // allowed to send out during the current interval. This budget will be
153 // utilized when there's no media to send. 152 // utilized when there's no media to send.
154 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_ 153 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_
155 GUARDED_BY(critsect_); 154 GUARDED_BY(critsect_);
156 155
157 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_); 156 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_);
158 // Actual configured bitrates (media_budget_ may temporarily be higher in 157 // Actual configured bitrates (media_budget_ may temporarily be higher in
159 // order to meet pace time constraint). 158 // order to meet pace time constraint).
160 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_); 159 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_);
161 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_); 160 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_);
162 uint32_t max_padding_bitrate_kbps_ GUARDED_BY(critsect_); 161 uint32_t max_padding_bitrate_kbps_ GUARDED_BY(critsect_);
163 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_); 162 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_);
164 163
165 int64_t time_last_update_us_ GUARDED_BY(critsect_); 164 int64_t time_last_update_us_ GUARDED_BY(critsect_);
166 165
167 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_); 166 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_);
168 uint64_t packet_counter_; 167 uint64_t packet_counter_;
169 }; 168 };
170 } // namespace webrtc 169 } // namespace webrtc
171 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_ 170 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698