LeviLamina
Loading...
Searching...
No Matches
TaskQueuePacedSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/PacingController.h"
7#include "mc/external/webrtc/RtpPacketPacer.h"
8#include "mc/external/webrtc/RtpPacketSender.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class Clock; }
13namespace webrtc { class DataRate; }
14namespace webrtc { class DataSize; }
15namespace webrtc { class FieldTrialsView; }
16namespace webrtc { class RtpPacketToSend; }
17namespace webrtc { class TimeDelta; }
18namespace webrtc { class Timestamp; }
19namespace webrtc { struct ProbeClusterConfig; }
20// clang-format on
21
22namespace webrtc {
23
25public:
26 // TaskQueuePacedSender inner types declare
27 // clang-format off
28 struct Stats;
29 // clang-format on
30
31 // TaskQueuePacedSender inner types define
32 struct Stats {
33 public:
34 // member variables
35 // NOLINTBEGIN
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
44 Stats& operator=(Stats const&);
45 Stats(Stats const&);
46 Stats();
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
72
73public:
74 // virtual functions
75 // NOLINTBEGIN
76 // vIndex: 0
77 virtual ~TaskQueuePacedSender() /*override*/;
78
79 // vIndex: 1
80 virtual void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets) /*override*/;
81
82 // vIndex: 2
83 virtual void RemovePacketsForSsrc(uint ssrc) /*override*/;
84
85 // vIndex: 1
86 virtual void CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs) /*override*/;
87
88 // vIndex: 2
89 virtual void Pause() /*override*/;
90
91 // vIndex: 3
92 virtual void Resume() /*override*/;
93
94 // vIndex: 4
95 virtual void SetCongested(bool congested) /*override*/;
96
97 // vIndex: 5
98 virtual void SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate) /*override*/;
99
100 // vIndex: 11
101 virtual void SetAccountForAudioPackets(bool account_for_audio) /*override*/;
102
103 // vIndex: 12
104 virtual void SetIncludeOverhead() /*override*/;
105
106 // vIndex: 13
107 virtual void SetTransportOverhead(::webrtc::DataSize overhead_per_packet) /*override*/;
108
109 // vIndex: 6
110 virtual ::webrtc::TimeDelta OldestPacketWaitTime() const /*override*/;
111
112 // vIndex: 7
113 virtual ::webrtc::DataSize QueueSizeData() const /*override*/;
114
115 // vIndex: 8
116 virtual ::std::optional<::webrtc::Timestamp> FirstSentPacketTime() const /*override*/;
117
118 // vIndex: 9
119 virtual ::webrtc::TimeDelta ExpectedQueueTime() const /*override*/;
120
121 // vIndex: 10
122 virtual void SetQueueTimeLimit(::webrtc::TimeDelta limit) /*override*/;
123 // NOLINTEND
124
125public:
126 // member functions
127 // NOLINTBEGIN
128 MCNAPI void EnsureStarted();
129
130 MCNAPI ::webrtc::TaskQueuePacedSender::Stats GetStats() const;
131
132 MCNAPI void MaybeProcessPackets(::webrtc::Timestamp scheduled_process_time);
133
135
136 MCNAPI void OnStatsUpdated(::webrtc::TaskQueuePacedSender::Stats const& stats);
137
138 MCNAPI void SetAllowProbeWithoutMediaPacket(bool allow);
139
140 MCNAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval);
141
143 ::webrtc::Clock* clock,
144 ::webrtc::PacingController::PacketSender* packet_sender,
145 ::webrtc::FieldTrialsView const& field_trials,
146 ::webrtc::TimeDelta max_hold_back_window,
147 int max_hold_back_window_in_packets
148 );
149
150 MCNAPI void UpdateStats();
151 // NOLINTEND
152
153public:
154 // static variables
155 // NOLINTBEGIN
156 MCNAPI static int const& kNoPacketHoldback();
157 // NOLINTEND
158
159public:
160 // constructor thunks
161 // NOLINTBEGIN
162 MCNAPI void* $ctor(
163 ::webrtc::Clock* clock,
164 ::webrtc::PacingController::PacketSender* packet_sender,
165 ::webrtc::FieldTrialsView const& field_trials,
166 ::webrtc::TimeDelta max_hold_back_window,
167 int max_hold_back_window_in_packets
168 );
169 // NOLINTEND
170
171public:
172 // destructor thunk
173 // NOLINTBEGIN
174 MCNAPI void $dtor();
175 // NOLINTEND
176
177public:
178 // virtual function thunks
179 // NOLINTBEGIN
180 MCNAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
181
182 MCNAPI void $RemovePacketsForSsrc(uint ssrc);
183
184 MCNAPI void $CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs);
185
186 MCNAPI void $Pause();
187
188 MCNAPI void $Resume();
189
190 MCNAPI void $SetCongested(bool congested);
191
192 MCNAPI void $SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate);
193
194 MCNAPI void $SetAccountForAudioPackets(bool account_for_audio);
195
196 MCNAPI void $SetIncludeOverhead();
197
198 MCNAPI void $SetTransportOverhead(::webrtc::DataSize overhead_per_packet);
199
200 MCNAPI ::webrtc::TimeDelta $OldestPacketWaitTime() const;
201
202 MCNAPI ::webrtc::DataSize $QueueSizeData() const;
203
204 MCNAPI ::std::optional<::webrtc::Timestamp> $FirstSentPacketTime() const;
205
206 MCNAPI ::webrtc::TimeDelta $ExpectedQueueTime() const;
207
208 MCNAPI void $SetQueueTimeLimit(::webrtc::TimeDelta limit);
209 // NOLINTEND
210
211public:
212 // vftables
213 // NOLINTBEGIN
214 MCNAPI static void** $vftableForRtpPacketSender();
215
216 MCNAPI static void** $vftableForRtpPacketPacer();
217 // NOLINTEND
218};
219
220} // namespace webrtc
Definition PacketSender.h:17
Definition Clock.h:13
Definition DataRate.h:10
Definition DataSize.h:10
Definition FieldTrialsView.h:7
Definition PacingController.h:23
Definition RtpPacketPacer.h:16
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
Definition TaskQueuePacedSender.h:24
MCAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval)
MCAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > packets)
MCAPI void $CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig > probe_cluster_configs)
static MCAPI void ** $vftableForRtpPacketPacer()
MCAPI void $SetQueueTimeLimit(::webrtc::TimeDelta limit)
static MCAPI int const & kNoPacketHoldback()
MCAPI ::std::optional<::webrtc::Timestamp > $FirstSentPacketTime() const
MCAPI void $SetTransportOverhead(::webrtc::DataSize overhead_per_packet)
MCAPI::webrtc::TimeDelta $ExpectedQueueTime() const
MCAPI void $SetAccountForAudioPackets(bool account_for_audio)
MCAPI void SetAllowProbeWithoutMediaPacket(bool allow)
MCAPI::webrtc::TimeDelta $OldestPacketWaitTime() const
MCAPI void MaybeScheduleProcessPackets()
MCAPI void * $ctor(::webrtc::Clock *clock, ::webrtc::PacingController::PacketSender *packet_sender, ::webrtc::FieldTrialsView const &field_trials, ::webrtc::TimeDelta max_hold_back_window, int max_hold_back_window_in_packets)
MCAPI void OnStatsUpdated(::webrtc::TaskQueuePacedSender::Stats const &stats)
MCAPI void MaybeProcessPackets(::webrtc::Timestamp scheduled_process_time)
MCAPI void $SetCongested(bool congested)
MCAPI void $SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate)
MCAPI void $RemovePacketsForSsrc(uint ssrc)
MCAPI::webrtc::DataSize $QueueSizeData() const
static MCAPI void ** $vftableForRtpPacketSender()
MCAPI::webrtc::TaskQueuePacedSender::Stats GetStats() const
Definition TimeDelta.h:10
Definition Timestamp.h:10
STL namespace.
Definition Alias.h:14
Definition ProbeClusterConfig.h:7
Definition TaskQueuePacedSender.h:32