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

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

Issue 2735423002: Mark |Clock*| as |const Clock*| (for some CongestionController and BWE related modules) (Closed)
Patch Set: Rebased 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 if (first->capture_time_ms != second->capture_time_ms) 84 if (first->capture_time_ms != second->capture_time_ms)
85 return first->capture_time_ms > second->capture_time_ms; 85 return first->capture_time_ms > second->capture_time_ms;
86 86
87 return first->enqueue_order > second->enqueue_order; 87 return first->enqueue_order > second->enqueue_order;
88 } 88 }
89 }; 89 };
90 90
91 // Class encapsulating a priority queue with some extensions. 91 // Class encapsulating a priority queue with some extensions.
92 class PacketQueue { 92 class PacketQueue {
93 public: 93 public:
94 explicit PacketQueue(Clock* clock) 94 explicit PacketQueue(const Clock* clock)
95 : bytes_(0), 95 : bytes_(0),
96 clock_(clock), 96 clock_(clock),
97 queue_time_sum_(0), 97 queue_time_sum_(0),
98 time_last_updated_(clock_->TimeInMilliseconds()) {} 98 time_last_updated_(clock_->TimeInMilliseconds()) {}
99 virtual ~PacketQueue() {} 99 virtual ~PacketQueue() {}
100 100
101 void Push(const Packet& packet) { 101 void Push(const Packet& packet) {
102 if (!AddToDupeSet(packet)) 102 if (!AddToDupeSet(packet))
103 return; 103 return;
104 104
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 // occur out of order, use list instead of vector. 189 // occur out of order, use list instead of vector.
190 std::list<Packet> packet_list_; 190 std::list<Packet> packet_list_;
191 // Priority queue of the packets, sorted according to Comparator. 191 // Priority queue of the packets, sorted according to Comparator.
192 // Use pointers into list, to avoid moving whole struct within heap. 192 // Use pointers into list, to avoid moving whole struct within heap.
193 std::priority_queue<Packet*, std::vector<Packet*>, Comparator> prio_queue_; 193 std::priority_queue<Packet*, std::vector<Packet*>, Comparator> prio_queue_;
194 // Total number of bytes in the queue. 194 // Total number of bytes in the queue.
195 uint64_t bytes_; 195 uint64_t bytes_;
196 // Map<ssrc, std::set<seq_no> >, for checking duplicates. 196 // Map<ssrc, std::set<seq_no> >, for checking duplicates.
197 typedef std::map<uint32_t, std::set<uint16_t> > SsrcSeqNoMap; 197 typedef std::map<uint32_t, std::set<uint16_t> > SsrcSeqNoMap;
198 SsrcSeqNoMap dupe_map_; 198 SsrcSeqNoMap dupe_map_;
199 Clock* const clock_; 199 const Clock* const clock_;
200 int64_t queue_time_sum_; 200 int64_t queue_time_sum_;
201 int64_t time_last_updated_; 201 int64_t time_last_updated_;
202 }; 202 };
203 203
204 class IntervalBudget { 204 class IntervalBudget {
205 public: 205 public:
206 explicit IntervalBudget(int initial_target_rate_kbps) 206 explicit IntervalBudget(int initial_target_rate_kbps)
207 : target_rate_kbps_(initial_target_rate_kbps), 207 : target_rate_kbps_(initial_target_rate_kbps),
208 bytes_remaining_(0) {} 208 bytes_remaining_(0) {}
209 209
(...skipping 29 matching lines...) Expand all
239 static const int kWindowMs = 500; 239 static const int kWindowMs = 500;
240 240
241 int target_rate_kbps_; 241 int target_rate_kbps_;
242 int bytes_remaining_; 242 int bytes_remaining_;
243 }; 243 };
244 } // namespace paced_sender 244 } // namespace paced_sender
245 245
246 const int64_t PacedSender::kMaxQueueLengthMs = 2000; 246 const int64_t PacedSender::kMaxQueueLengthMs = 2000;
247 const float PacedSender::kDefaultPaceMultiplier = 2.5f; 247 const float PacedSender::kDefaultPaceMultiplier = 2.5f;
248 248
249 PacedSender::PacedSender(Clock* clock, PacketSender* packet_sender) 249 PacedSender::PacedSender(const Clock* clock, PacketSender* packet_sender)
250 : clock_(clock), 250 : clock_(clock),
251 packet_sender_(packet_sender), 251 packet_sender_(packet_sender),
252 alr_detector_(new AlrDetector()), 252 alr_detector_(new AlrDetector()),
253 critsect_(CriticalSectionWrapper::CreateCriticalSection()), 253 critsect_(CriticalSectionWrapper::CreateCriticalSection()),
254 paused_(false), 254 paused_(false),
255 media_budget_(new paced_sender::IntervalBudget(0)), 255 media_budget_(new paced_sender::IntervalBudget(0)),
256 padding_budget_(new paced_sender::IntervalBudget(0)), 256 padding_budget_(new paced_sender::IntervalBudget(0)),
257 prober_(new BitrateProber()), 257 prober_(new BitrateProber()),
258 probing_send_failure_(false), 258 probing_send_failure_(false),
259 estimated_bitrate_bps_(0), 259 estimated_bitrate_bps_(0),
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 void PacedSender::UpdateBudgetWithElapsedTime(int64_t delta_time_ms) { 500 void PacedSender::UpdateBudgetWithElapsedTime(int64_t delta_time_ms) {
501 media_budget_->IncreaseBudget(delta_time_ms); 501 media_budget_->IncreaseBudget(delta_time_ms);
502 padding_budget_->IncreaseBudget(delta_time_ms); 502 padding_budget_->IncreaseBudget(delta_time_ms);
503 } 503 }
504 504
505 void PacedSender::UpdateBudgetWithBytesSent(size_t bytes_sent) { 505 void PacedSender::UpdateBudgetWithBytesSent(size_t bytes_sent) {
506 media_budget_->UseBudget(bytes_sent); 506 media_budget_->UseBudget(bytes_sent);
507 padding_budget_->UseBudget(bytes_sent); 507 padding_budget_->UseBudget(bytes_sent);
508 } 508 }
509 } // namespace webrtc 509 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/pacing/paced_sender.h ('k') | webrtc/modules/remote_bitrate_estimator/include/send_time_history.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698