OLD | NEW |
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 18 matching lines...) Expand all Loading... |
29 | 29 |
30 // Upper cap on process interval, in case process has not been called in a long | 30 // Upper cap on process interval, in case process has not been called in a long |
31 // time. | 31 // time. |
32 const int64_t kMaxIntervalTimeMs = 30; | 32 const int64_t kMaxIntervalTimeMs = 30; |
33 | 33 |
34 } // namespace | 34 } // namespace |
35 | 35 |
36 namespace webrtc { | 36 namespace webrtc { |
37 namespace paced_sender { | 37 namespace paced_sender { |
38 struct Packet { | 38 struct Packet { |
39 Packet(PacedSender::Priority priority, | 39 Packet(RtpPacketSender::Priority priority, |
40 uint32_t ssrc, | 40 uint32_t ssrc, |
41 uint16_t seq_number, | 41 uint16_t seq_number, |
42 int64_t capture_time_ms, | 42 int64_t capture_time_ms, |
43 int64_t enqueue_time_ms, | 43 int64_t enqueue_time_ms, |
44 size_t length_in_bytes, | 44 size_t length_in_bytes, |
45 bool retransmission, | 45 bool retransmission, |
46 uint64_t enqueue_order) | 46 uint64_t enqueue_order) |
47 : priority(priority), | 47 : priority(priority), |
48 ssrc(ssrc), | 48 ssrc(ssrc), |
49 sequence_number(seq_number), | 49 sequence_number(seq_number), |
50 capture_time_ms(capture_time_ms), | 50 capture_time_ms(capture_time_ms), |
51 enqueue_time_ms(enqueue_time_ms), | 51 enqueue_time_ms(enqueue_time_ms), |
52 bytes(length_in_bytes), | 52 bytes(length_in_bytes), |
53 retransmission(retransmission), | 53 retransmission(retransmission), |
54 enqueue_order(enqueue_order) {} | 54 enqueue_order(enqueue_order) {} |
55 | 55 |
56 PacedSender::Priority priority; | 56 RtpPacketSender::Priority priority; |
57 uint32_t ssrc; | 57 uint32_t ssrc; |
58 uint16_t sequence_number; | 58 uint16_t sequence_number; |
59 int64_t capture_time_ms; | 59 int64_t capture_time_ms; |
60 int64_t enqueue_time_ms; | 60 int64_t enqueue_time_ms; |
61 size_t bytes; | 61 size_t bytes; |
62 bool retransmission; | 62 bool retransmission; |
63 uint64_t enqueue_order; | 63 uint64_t enqueue_order; |
64 std::list<Packet>::iterator this_it; | 64 std::list<Packet>::iterator this_it; |
65 }; | 65 }; |
66 | 66 |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 | 261 |
262 void PacedSender::UpdateBitrate(int bitrate_kbps, | 262 void PacedSender::UpdateBitrate(int bitrate_kbps, |
263 int max_bitrate_kbps, | 263 int max_bitrate_kbps, |
264 int min_bitrate_kbps) { | 264 int min_bitrate_kbps) { |
265 CriticalSectionScoped cs(critsect_.get()); | 265 CriticalSectionScoped cs(critsect_.get()); |
266 media_budget_->set_target_rate_kbps(max_bitrate_kbps); | 266 media_budget_->set_target_rate_kbps(max_bitrate_kbps); |
267 padding_budget_->set_target_rate_kbps(min_bitrate_kbps); | 267 padding_budget_->set_target_rate_kbps(min_bitrate_kbps); |
268 bitrate_bps_ = 1000 * bitrate_kbps; | 268 bitrate_bps_ = 1000 * bitrate_kbps; |
269 } | 269 } |
270 | 270 |
271 bool PacedSender::SendPacket(Priority priority, uint32_t ssrc, | 271 bool PacedSender::SendPacket(RtpPacketSender::Priority priority, |
272 uint16_t sequence_number, int64_t capture_time_ms, size_t bytes, | 272 uint32_t ssrc, |
273 bool retransmission) { | 273 uint16_t sequence_number, |
| 274 int64_t capture_time_ms, |
| 275 size_t bytes, |
| 276 bool retransmission) { |
274 CriticalSectionScoped cs(critsect_.get()); | 277 CriticalSectionScoped cs(critsect_.get()); |
275 | 278 |
276 if (!enabled_) { | 279 if (!enabled_) { |
277 return true; // We can send now. | 280 return true; // We can send now. |
278 } | 281 } |
279 if (probing_enabled_ && !prober_->IsProbing()) { | 282 if (probing_enabled_ && !prober_->IsProbing()) { |
280 prober_->SetEnabled(true); | 283 prober_->SetEnabled(true); |
281 } | 284 } |
282 prober_->MaybeInitializeProbe(bitrate_bps_); | 285 prober_->MaybeInitializeProbe(bitrate_bps_); |
283 | 286 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 media_budget_->UseBudget(bytes_sent); | 407 media_budget_->UseBudget(bytes_sent); |
405 padding_budget_->UseBudget(bytes_sent); | 408 padding_budget_->UseBudget(bytes_sent); |
406 } | 409 } |
407 } | 410 } |
408 | 411 |
409 void PacedSender::UpdateBytesPerInterval(int64_t delta_time_ms) { | 412 void PacedSender::UpdateBytesPerInterval(int64_t delta_time_ms) { |
410 media_budget_->IncreaseBudget(delta_time_ms); | 413 media_budget_->IncreaseBudget(delta_time_ms); |
411 padding_budget_->IncreaseBudget(delta_time_ms); | 414 padding_budget_->IncreaseBudget(delta_time_ms); |
412 } | 415 } |
413 } // namespace webrtc | 416 } // namespace webrtc |
OLD | NEW |