diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h')
-rw-r--r-- | third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h b/third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h index fd71be1654..e29acdf878 100644 --- a/third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h +++ b/third_party/libwebrtc/modules/pacing/task_queue_paced_sender.h @@ -45,23 +45,21 @@ class TaskQueuePacedSender : public RtpPacketPacer, public RtpPacketSender { // processed. Increasing this reduces thread wakeups at the expense of higher // latency. // - // If the `burst_interval` parameter is set, the pacer is allowed to build up - // a packet "debt" that correspond to approximately the send rate during the - // specified interval. This greatly reduced wake ups by not pacing packets - // within the allowed burst budget. - // // The taskqueue used when constructing a TaskQueuePacedSender will also be // used for pacing. - TaskQueuePacedSender( - Clock* clock, - PacingController::PacketSender* packet_sender, - const FieldTrialsView& field_trials, - TimeDelta max_hold_back_window, - int max_hold_back_window_in_packets, - absl::optional<TimeDelta> burst_interval = absl::nullopt); + TaskQueuePacedSender(Clock* clock, + PacingController::PacketSender* packet_sender, + const FieldTrialsView& field_trials, + TimeDelta max_hold_back_window, + int max_hold_back_window_in_packets); ~TaskQueuePacedSender() override; + // The pacer is allowed to send enqued packets in bursts and can build up a + // packet "debt" that correspond to approximately the send rate during + // 'burst_interval'. + void SetSendBurstInterval(TimeDelta burst_interval); + // Ensure that necessary delayed tasks are scheduled. void EnsureStarted(); @@ -145,15 +143,6 @@ class TaskQueuePacedSender : public RtpPacketPacer, public RtpPacketSender { Stats GetStats() const; Clock* const clock_; - struct BurstyPacerFlags { - // Parses `kBurstyPacerFieldTrial`. Example: - // --force-fieldtrials=WebRTC-BurstyPacer/burst:20ms/ - explicit BurstyPacerFlags(const FieldTrialsView& field_trials); - // If set, the pacer is allowed to build up a packet "debt" that correspond - // to approximately the send rate during the specified interval. - FieldTrialOptional<TimeDelta> burst; - }; - const BurstyPacerFlags bursty_pacer_flags_; // The holdback window prevents too frequent delayed MaybeProcessPackets() // calls. These are only applicable if `allow_low_precision` is false. |