| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 // effect. | 82 // effect. |
| 83 void SetProbingEnabled(bool enabled); | 83 void SetProbingEnabled(bool enabled); |
| 84 | 84 |
| 85 // Sets the estimated capacity of the network. Must be called once before | 85 // Sets the estimated capacity of the network. Must be called once before |
| 86 // packets can be sent. | 86 // packets can be sent. |
| 87 // |bitrate_bps| is our estimate of what we are allowed to send on average. | 87 // |bitrate_bps| is our estimate of what we are allowed to send on average. |
| 88 // We will pace out bursts of packets at a bitrate of | 88 // We will pace out bursts of packets at a bitrate of |
| 89 // |bitrate_bps| * kDefaultPaceMultiplier. | 89 // |bitrate_bps| * kDefaultPaceMultiplier. |
| 90 virtual void SetEstimatedBitrate(uint32_t bitrate_bps); | 90 virtual void SetEstimatedBitrate(uint32_t bitrate_bps); |
| 91 | 91 |
| 92 // Sets the bitrate that has been allocated for encoders. | 92 // Sets the minimum send bitrate and maximum padding bitrate requested by send |
| 93 // |allocated_bitrate| might be higher that the estimated available network | 93 // streams. |
| 94 // bitrate and if so, the pacer will send with |allocated_bitrate|. | 94 // |min_send_bitrate_bps| might be higher that the estimated available network |
| 95 // Padding packets will be utilized to reach |padding_bitrate| unless enough | 95 // bitrate and if so, the pacer will send with |min_send_bitrate_bps|. |
| 96 // media packets are available. | 96 // |max_padding_bitrate_bps| might be higher than the estimate available |
| 97 void SetAllocatedSendBitrate(int allocated_bitrate_bps, | 97 // network bitrate and if so, the pacer will send padding packets to reach |
| 98 int padding_bitrate_bps); | 98 // the min of the estimated available bitrate and |max_padding_bitrate_bps|. |
| 99 void SetSendBitrateLimits(int min_send_bitrate_bps, |
| 100 int max_padding_bitrate_bps); |
| 99 | 101 |
| 100 // Returns true if we send the packet now, else it will add the packet | 102 // Returns true if we send the packet now, else it will add the packet |
| 101 // information to the queue and call TimeToSendPacket when it's time to send. | 103 // information to the queue and call TimeToSendPacket when it's time to send. |
| 102 void InsertPacket(RtpPacketSender::Priority priority, | 104 void InsertPacket(RtpPacketSender::Priority priority, |
| 103 uint32_t ssrc, | 105 uint32_t ssrc, |
| 104 uint16_t sequence_number, | 106 uint16_t sequence_number, |
| 105 int64_t capture_time_ms, | 107 int64_t capture_time_ms, |
| 106 size_t bytes, | 108 size_t bytes, |
| 107 bool retransmission) override; | 109 bool retransmission) override; |
| 108 | 110 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 // allowed to send out during the current interval. This budget will be | 152 // allowed to send out during the current interval. This budget will be |
| 151 // utilized when there's no media to send. | 153 // utilized when there's no media to send. |
| 152 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_ | 154 std::unique_ptr<paced_sender::IntervalBudget> padding_budget_ |
| 153 GUARDED_BY(critsect_); | 155 GUARDED_BY(critsect_); |
| 154 | 156 |
| 155 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_); | 157 std::unique_ptr<BitrateProber> prober_ GUARDED_BY(critsect_); |
| 156 // Actual configured bitrates (media_budget_ may temporarily be higher in | 158 // Actual configured bitrates (media_budget_ may temporarily be higher in |
| 157 // order to meet pace time constraint). | 159 // order to meet pace time constraint). |
| 158 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_); | 160 uint32_t estimated_bitrate_bps_ GUARDED_BY(critsect_); |
| 159 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_); | 161 uint32_t min_send_bitrate_kbps_ GUARDED_BY(critsect_); |
| 162 uint32_t max_padding_bitrate_kbps_ GUARDED_BY(critsect_); |
| 160 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_); | 163 uint32_t pacing_bitrate_kbps_ GUARDED_BY(critsect_); |
| 161 | 164 |
| 162 int64_t time_last_update_us_ GUARDED_BY(critsect_); | 165 int64_t time_last_update_us_ GUARDED_BY(critsect_); |
| 163 | 166 |
| 164 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_); | 167 std::unique_ptr<paced_sender::PacketQueue> packets_ GUARDED_BY(critsect_); |
| 165 uint64_t packet_counter_; | 168 uint64_t packet_counter_; |
| 166 }; | 169 }; |
| 167 } // namespace webrtc | 170 } // namespace webrtc |
| 168 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_ | 171 #endif // WEBRTC_MODULES_PACING_PACED_SENDER_H_ |
| OLD | NEW |