LeviLamina
Loading...
Searching...
No Matches
RtpSenderEgress.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RtpPacketMediaType.h"
7#include "mc/external/webrtc/RtpPacketSender.h"
8#include "mc/external/webrtc/RtpRtcpInterface.h"
9#include "mc/external/webrtc/RtpSequenceNumberMap.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class PacketSequencer; }
14namespace webrtc { class RtpPacketHistory; }
15namespace webrtc { class RtpPacketToSend; }
16namespace webrtc { class RtpSendRates; }
17namespace webrtc { class TaskQueueBase; }
18namespace webrtc { class Timestamp; }
19namespace webrtc { struct FecProtectionParams; }
20namespace webrtc { struct PacedPacketInfo; }
21namespace webrtc { struct PacketOptions; }
22namespace webrtc { struct RtpPacketCounter; }
23namespace webrtc { struct StreamDataCounters; }
24// clang-format on
25
26namespace webrtc {
27
29public:
30 // RtpSenderEgress inner types declare
31 // clang-format off
33 struct Packet;
34 // clang-format on
35
36 // RtpSenderEgress inner types define
38 public:
39 // member variables
40 // NOLINTBEGIN
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
53
54 public:
55 // virtual functions
56 // NOLINTBEGIN
57 // vIndex: 0
58 virtual ~NonPacedPacketSender() /*override*/;
59
60 // vIndex: 1
61 virtual void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets) /*override*/;
62
63 // vIndex: 2
64 virtual void RemovePacketsForSsrc(uint ssrc) /*override*/;
65 // NOLINTEND
66
67 public:
68 // member functions
69 // NOLINTBEGIN
71 ::webrtc::TaskQueueBase& worker_queue,
74 );
75
77 // NOLINTEND
78
79 public:
80 // constructor thunks
81 // NOLINTBEGIN
82 MCNAPI void* $ctor(
83 ::webrtc::TaskQueueBase& worker_queue,
86 );
87 // NOLINTEND
88
89 public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCNAPI void $dtor();
93 // NOLINTEND
94
95 public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCNAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
99
100 MCNAPI void $RemovePacketsForSsrc(uint ssrc);
101 // NOLINTEND
102
103 public:
104 // vftables
105 // NOLINTBEGIN
106 MCNAPI static void** $vftable();
107 // NOLINTEND
108 };
109
110 struct Packet {
111 public:
112 // member variables
113 // NOLINTBEGIN
117 // NOLINTEND
118
119 public:
120 // prevent constructor by default
121 Packet& operator=(Packet const&);
122 Packet(Packet const&);
123 Packet();
124
125 public:
126 // member functions
127 // NOLINTBEGIN
128 MCNAPI ~Packet();
129 // NOLINTEND
130
131 public:
132 // destructor thunk
133 // NOLINTBEGIN
134 MCNAPI void $dtor();
135 // NOLINTEND
136 };
137
138public:
139 // member variables
140 // NOLINTBEGIN
170 // NOLINTEND
171
172public:
173 // prevent constructor by default
174 RtpSenderEgress& operator=(RtpSenderEgress const&);
177
178public:
179 // member functions
180 // NOLINTBEGIN
181 MCNAPI void CompleteSendPacket(::webrtc::RtpSenderEgress::Packet const& compound_packet, bool last_in_batch);
182
183 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFecPackets();
184
185 MCNAPI void ForceIncludeSendPacketsInAllocation(bool part_of_allocation);
186
188
189 MCNAPI ::webrtc::RtpSendRates GetSendRates(::webrtc::Timestamp now) const;
190
191 MCNAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
193
194 MCNAPI bool MediaHasBeenSent() const;
195
197
198 MCNAPI void OnBatchComplete();
199
200 MCNAPI void PeriodicUpdate();
201
204 ::webrtc::RtpPacketHistory* packet_history
205 );
206
207 MCNAPI void
208 SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::PacedPacketInfo const& pacing_info);
209
211 ::webrtc::RtpPacketToSend const& packet,
212 ::webrtc::PacketOptions const& options,
213 ::webrtc::PacedPacketInfo const& pacing_info
214 );
215
217 ::webrtc::FecProtectionParams const& delta_params,
218 ::webrtc::FecProtectionParams const& key_params
219 );
220
221 MCNAPI void SetTimestampOffset(uint timestamp);
222
223 MCNAPI void UpdateRtpStats(
225 uint packet_ssrc,
226 ::webrtc::RtpPacketMediaType packet_type,
228 uint64 packet_size
229 );
230
232 // NOLINTEND
233
234public:
235 // constructor thunks
236 // NOLINTBEGIN
237 MCNAPI void*
239 // NOLINTEND
240
241public:
242 // destructor thunk
243 // NOLINTBEGIN
244 MCNAPI void $dtor();
245 // NOLINTEND
246};
247
248} // namespace webrtc
Definition _HeaderOutputPredefine.h:260
Definition PacketSequencer.h:14
Definition RtpPacketHistory.h:18
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
Definition RtpSenderEgress.h:37
MCAPI void * $ctor(::webrtc::TaskQueueBase &worker_queue, ::webrtc::RtpSenderEgress *sender, ::webrtc::PacketSequencer *sequencer)
MCAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > packets)
MCAPI void PrepareForSend(::webrtc::RtpPacketToSend *packet)
MCAPI NonPacedPacketSender(::webrtc::TaskQueueBase &worker_queue, ::webrtc::RtpSenderEgress *sender, ::webrtc::PacketSequencer *sequencer)
Definition RtpSenderEgress.h:28
MCAPI void CompleteSendPacket(::webrtc::RtpSenderEgress::Packet const &compound_packet, bool last_in_batch)
MCAPI void SetFecProtectionParameters(::webrtc::FecProtectionParams const &delta_params, ::webrtc::FecProtectionParams const &key_params)
MCAPI::webrtc::RtpSendRates GetSendRates(::webrtc::Timestamp now) const
MCAPI void SetTimestampOffset(uint timestamp)
MCAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info > GetSentRtpPacketInfos(::rtc::ArrayView< ushort const > sequence_numbers) const
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > FetchFecPackets()
MCAPI void SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend > packet, ::webrtc::PacedPacketInfo const &pacing_info)
MCAPI bool MediaHasBeenSent() const
MCAPI void GetDataCounters(::webrtc::StreamDataCounters *rtp_stats, ::webrtc::StreamDataCounters *rtx_stats) const
MCAPI RtpSenderEgress(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history)
MCAPI bool SendPacketToNetwork(::webrtc::RtpPacketToSend const &packet, ::webrtc::PacketOptions const &options, ::webrtc::PacedPacketInfo const &pacing_info)
MCAPI void OnBatchComplete()
MCAPI void UpdateRtpStats(::webrtc::Timestamp now, uint packet_ssrc, ::webrtc::RtpPacketMediaType packet_type, ::webrtc::RtpPacketCounter counter, uint64 packet_size)
MCAPI void PeriodicUpdate()
MCAPI void OnAbortedRetransmissions(::rtc::ArrayView< ushort const > sequence_numbers)
MCAPI void * $ctor(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history)
MCAPI void ForceIncludeSendPacketsInAllocation(bool part_of_allocation)
Definition TaskQueueBase.h:16
Definition Timestamp.h:10
Definition Alias.h:14
Definition FecProtectionParams.h:7
Definition PacedPacketInfo.h:7
Definition PacketOptions.h:7
Definition RtpPacketCounter.h:13
Definition RtpRtcpInterface.h:37
Definition RtpSenderEgress.h:110
Definition StreamDataCounters.h:7