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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 padding_needed = prober_->RecommendedPacketSize(); | 430 padding_needed = prober_->RecommendedPacketSize(); |
431 } else { | 431 } else { |
432 padding_needed = padding_budget_->bytes_remaining(); | 432 padding_needed = padding_budget_->bytes_remaining(); |
433 } | 433 } |
434 | 434 |
435 if (padding_needed > 0) | 435 if (padding_needed > 0) |
436 SendPadding(static_cast<size_t>(padding_needed)); | 436 SendPadding(static_cast<size_t>(padding_needed)); |
437 } | 437 } |
438 | 438 |
439 bool PacedSender::SendPacket(const paced_sender::Packet& packet) { | 439 bool PacedSender::SendPacket(const paced_sender::Packet& packet) { |
440 // TODO(holmer): Because of this bug issue 5307 we have to send audio | 440 if (paused_) |
441 // packets even when the pacer is paused. Here we assume audio packets are | |
442 // always high priority and that they are the only high priority packets. | |
443 if (paused_ && packet.priority != kHighPriority) | |
444 return false; | 441 return false; |
445 critsect_->Leave(); | 442 critsect_->Leave(); |
446 const bool success = callback_->TimeToSendPacket(packet.ssrc, | 443 const bool success = callback_->TimeToSendPacket(packet.ssrc, |
447 packet.sequence_number, | 444 packet.sequence_number, |
448 packet.capture_time_ms, | 445 packet.capture_time_ms, |
449 packet.retransmission); | 446 packet.retransmission); |
450 critsect_->Enter(); | 447 critsect_->Enter(); |
451 | 448 |
452 // TODO(holmer): High priority packets should only be accounted for if we are | 449 // TODO(holmer): High priority packets should only be accounted for if we are |
453 // allocating bandwidth for audio. | 450 // allocating bandwidth for audio. |
(...skipping 17 matching lines...) Expand all Loading... |
471 media_budget_->UseBudget(bytes_sent); | 468 media_budget_->UseBudget(bytes_sent); |
472 padding_budget_->UseBudget(bytes_sent); | 469 padding_budget_->UseBudget(bytes_sent); |
473 } | 470 } |
474 } | 471 } |
475 | 472 |
476 void PacedSender::UpdateBytesPerInterval(int64_t delta_time_ms) { | 473 void PacedSender::UpdateBytesPerInterval(int64_t delta_time_ms) { |
477 media_budget_->IncreaseBudget(delta_time_ms); | 474 media_budget_->IncreaseBudget(delta_time_ms); |
478 padding_budget_->IncreaseBudget(delta_time_ms); | 475 padding_budget_->IncreaseBudget(delta_time_ms); |
479 } | 476 } |
480 } // namespace webrtc | 477 } // namespace webrtc |
OLD | NEW |