Skip to content
LeviMC
English
AutoLightDark
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
24class TaskQueuePacedSender : public ::webrtc::RtpPacketPacer, public ::webrtc::RtpPacketSender {
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
69 TaskQueuePacedSender& operator=(TaskQueuePacedSender const&);
70 TaskQueuePacedSender(TaskQueuePacedSender const&);
71 TaskQueuePacedSender();
72
73public:
74 // virtual functions
75 // NOLINTBEGIN
76 virtual ~TaskQueuePacedSender() /*override*/;
77
78 virtual void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets) /*override*/;
79
80 virtual void RemovePacketsForSsrc(uint ssrc) /*override*/;
81
82 virtual void CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs) /*override*/;
83
84 virtual void Pause() /*override*/;
85
86 virtual void Resume() /*override*/;
87
88 virtual void SetCongested(bool congested) /*override*/;
89
90 virtual void SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate) /*override*/;
91
92 virtual void SetAccountForAudioPackets(bool account_for_audio) /*override*/;
93
94 virtual void SetIncludeOverhead() /*override*/;
95
96 virtual void SetTransportOverhead(::webrtc::DataSize overhead_per_packet) /*override*/;
97
98 virtual ::webrtc::TimeDelta OldestPacketWaitTime() const /*override*/;
99
100 virtual ::webrtc::DataSize QueueSizeData() const /*override*/;
101
102 virtual ::std::optional<::webrtc::Timestamp> FirstSentPacketTime() const /*override*/;
103
104 virtual ::webrtc::TimeDelta ExpectedQueueTime() const /*override*/;
105
106 virtual void SetQueueTimeLimit(::webrtc::TimeDelta limit) /*override*/;
107 // NOLINTEND
108
109public:
110 // member functions
111 // NOLINTBEGIN
112 MCNAPI void EnsureStarted();
113
114 MCNAPI void MaybeProcessPackets(::webrtc::Timestamp scheduled_process_time);
115
117
118 MCNAPI void SetAllowProbeWithoutMediaPacket(bool allow);
119
120 MCNAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval);
121
122 MCNAPI TaskQueuePacedSender(
123 ::webrtc::Clock* clock,
124 ::webrtc::PacingController::PacketSender* packet_sender,
125 ::webrtc::FieldTrialsView const& field_trials,
126 ::webrtc::TimeDelta max_hold_back_window,
127 int max_hold_back_window_in_packets
128 );
129 // NOLINTEND
130
131public:
132 // static variables
133 // NOLINTBEGIN
134 MCNAPI static int const& kNoPacketHoldback();
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCNAPI void* $ctor(
141 ::webrtc::Clock* clock,
142 ::webrtc::PacingController::PacketSender* packet_sender,
143 ::webrtc::FieldTrialsView const& field_trials,
144 ::webrtc::TimeDelta max_hold_back_window,
145 int max_hold_back_window_in_packets
146 );
147 // NOLINTEND
148
149public:
150 // destructor thunk
151 // NOLINTBEGIN
152 MCNAPI void $dtor();
153 // NOLINTEND
154
155public:
156 // virtual function thunks
157 // NOLINTBEGIN
158 MCNAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
159
160 MCNAPI void $RemovePacketsForSsrc(uint ssrc);
161
162 MCNAPI void $CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs);
163
164 MCNAPI void $Pause();
165
166 MCNAPI void $Resume();
167
168 MCNAPI void $SetCongested(bool congested);
169
170 MCNAPI void $SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate);
171
172 MCNAPI void $SetAccountForAudioPackets(bool account_for_audio);
173
174 MCNAPI void $SetIncludeOverhead();
175
176 MCNAPI void $SetTransportOverhead(::webrtc::DataSize overhead_per_packet);
177
178 MCNAPI ::webrtc::TimeDelta $OldestPacketWaitTime() const;
179
180 MCNAPI ::webrtc::DataSize $QueueSizeData() const;
181
182 MCNAPI ::std::optional<::webrtc::Timestamp> $FirstSentPacketTime() const;
183
184 MCNAPI ::webrtc::TimeDelta $ExpectedQueueTime() const;
185
186 MCNAPI void $SetQueueTimeLimit(::webrtc::TimeDelta limit);
187
188
189 // NOLINTEND
190
191public:
192 // vftables
193 // NOLINTBEGIN
194 MCNAPI static void** $vftableForRtpPacketSender();
195
196 MCNAPI static void** $vftableForRtpPacketPacer();
197 // NOLINTEND
198};
199
200} // 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:24
Definition RtpPacketPacer.h:16
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
MCAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval)
MCAPI void PostMaybeProcessPackets()
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 * $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 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()
Definition TimeDelta.h:10
Definition Timestamp.h:15
STL namespace.
Definition Alias.h:14
Definition ProbeClusterConfig.h:7
Definition TaskQueuePacedSender.h:32