LeviLamina
Loading...
Searching...
No Matches
PacingController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RtpPacketMediaType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class Clock; }
11namespace webrtc { class DataRate; }
12namespace webrtc { class DataSize; }
13namespace webrtc { class FieldTrialsView; }
14namespace webrtc { class RtpPacketToSend; }
15namespace webrtc { class TimeDelta; }
16namespace webrtc { class Timestamp; }
17namespace webrtc { struct PacedPacketInfo; }
18namespace webrtc { struct ProbeClusterConfig; }
19// clang-format on
20
21namespace webrtc {
22
24public:
25 // PacingController inner types declare
26 // clang-format off
27 struct Configuration;
28 class PacketSender;
29 // clang-format on
30
31 // PacingController inner types define
32 struct Configuration {};
33
34 class PacketSender {};
35
36public:
37 // prevent constructor by default
39
40public:
41 // member functions
42 // NOLINTBEGIN
44
45 MCNAPI ::webrtc::Timestamp CurrentTime() const;
46
47 MCNAPI void EnqueuePacket(::std::unique_ptr<::webrtc::RtpPacketToSend>);
48
49 MCNAPI ::webrtc::TimeDelta ExpectedQueueTime() const;
50
51 MCNAPI ::std::optional<::webrtc::Timestamp> FirstSentPacketTime() const;
52
53 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend>
55
56 MCNAPI bool IsProbing() const;
57
59
60 MCNAPI ::webrtc::Timestamp NextSendTime() const;
61
62 MCNAPI ::webrtc::Timestamp NextUnpacedSendTime() const;
63
64 MCNAPI ::webrtc::Timestamp OldestPacketEnqueueTime() const;
65
66 MCNAPI void OnPacketSent(::webrtc::RtpPacketMediaType, ::webrtc::DataSize, ::webrtc::Timestamp);
67
73 );
74
75 MCNAPI ::webrtc::DataSize PaddingToAdd(::webrtc::DataSize, ::webrtc::DataSize) const;
76
77 MCNAPI void Pause();
78
79 MCNAPI void ProcessPackets();
80
81 MCNAPI ::webrtc::DataSize QueueSizeData() const;
82
83 MCNAPI void RemovePacketsForSsrc(uint);
84
85 MCNAPI void Resume();
86
87 MCNAPI void SetAccountForAudioPackets(bool);
88
90
91 MCNAPI void SetCongested(bool);
92
93 MCNAPI void SetIncludeOverhead();
94
96
98
100
102
104
106
108
110
111 MCNAPI ::webrtc::TimeDelta UpdateTimeAndGetElapsed(::webrtc::Timestamp);
112
114 // NOLINTEND
115
116public:
117 // static variables
118 // NOLINTBEGIN
119 MCNAPI static ::webrtc::TimeDelta const& kMaxEarlyProbeProcessing();
120
121 MCNAPI static ::webrtc::TimeDelta const& kMaxPaddingReplayDuration();
122
123 MCNAPI static ::webrtc::TimeDelta const& kMinSleepTime();
124
125 MCNAPI static ::webrtc::TimeDelta const& kPausedProcessInterval();
126
127 MCNAPI static ::webrtc::TimeDelta const& kTargetPaddingDuration();
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
133 MCNAPI void* $ctor(
138 );
139 // NOLINTEND
140
141public:
142 // destructor thunk
143 // NOLINTBEGIN
144 MCNAPI void $dtor();
145 // NOLINTEND
146};
147
148} // namespace webrtc
Definition _HeaderOutputPredefine.h:258
Definition Clock.h:13
Definition DataRate.h:10
Definition DataSize.h:10
Definition FieldTrialsView.h:7
Definition PacingController.h:34
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition PacedPacketInfo.h:7
Definition PacingController.h:32
Definition PacingController.h:23
MCAPI void SetSendBurstInterval(::webrtc::TimeDelta)
MCAPI void SetQueueTimeLimit(::webrtc::TimeDelta)
MCAPI void SetCongested(bool)
static MCAPI ::webrtc::TimeDelta const & kMinSleepTime()
MCAPI void SetIncludeOverhead()
MCAPI void * $ctor(::webrtc::Clock *, ::webrtc::PacingController::PacketSender *, ::webrtc::FieldTrialsView const &, ::webrtc::PacingController::Configuration)
MCAPI void MaybeUpdateMediaRateDueToLongQueue(::webrtc::Timestamp)
MCAPI::webrtc::Timestamp NextUnpacedSendTime() const
MCAPI void SetAllowProbeWithoutMediaPacket(bool)
MCAPI::webrtc::Timestamp CurrentTime() const
static MCAPI ::webrtc::TimeDelta const & kPausedProcessInterval()
MCAPI void SetTransportOverhead(::webrtc::DataSize)
MCAPI::webrtc::Timestamp NextSendTime() const
MCAPI void OnPacketSent(::webrtc::RtpPacketMediaType, ::webrtc::DataSize, ::webrtc::Timestamp)
MCAPI void SetPacingRates(::webrtc::DataRate, ::webrtc::DataRate)
MCAPI bool ShouldSendKeepalive(::webrtc::Timestamp) const
static MCAPI ::webrtc::TimeDelta const & kMaxEarlyProbeProcessing()
MCAPI void UpdateBudgetWithSentData(::webrtc::DataSize)
MCAPI ::std::optional<::webrtc::Timestamp > FirstSentPacketTime() const
MCAPI PacingController(::webrtc::Clock *, ::webrtc::PacingController::PacketSender *, ::webrtc::FieldTrialsView const &, ::webrtc::PacingController::Configuration)
MCAPI void UpdateBudgetWithElapsedTime(::webrtc::TimeDelta)
MCAPI bool IsProbing() const
MCAPI void RemovePacketsForSsrc(uint)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > GetPendingPacket(::webrtc::PacedPacketInfo const &, ::webrtc::Timestamp, ::webrtc::Timestamp)
MCAPI::webrtc::Timestamp OldestPacketEnqueueTime() const
MCAPI::webrtc::TimeDelta UpdateTimeAndGetElapsed(::webrtc::Timestamp)
MCAPI void SetAccountForAudioPackets(bool)
MCAPI void EnqueuePacket(::std::unique_ptr<::webrtc::RtpPacketToSend >)
MCAPI void UpdatePaddingBudgetWithSentData(::webrtc::DataSize)
static MCAPI ::webrtc::TimeDelta const & kMaxPaddingReplayDuration()
MCAPI void CreateProbeClusters(::rtc::ArrayView<::webrtc::ProbeClusterConfig const >)
MCAPI::webrtc::TimeDelta ExpectedQueueTime() const
MCAPI void ProcessPackets()
static MCAPI ::webrtc::TimeDelta const & kTargetPaddingDuration()
MCAPI::webrtc::DataSize PaddingToAdd(::webrtc::DataSize, ::webrtc::DataSize) const
MCAPI::webrtc::DataSize QueueSizeData() const