Skip to content
LeviMC
English
AutoLightDark
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/ArrayView.h"
7#include "mc/external/webrtc/RtpPacketMediaType.h"
8#include "mc/external/webrtc/RtpPacketSender.h"
9#include "mc/external/webrtc/RtpRtcpInterface.h"
10#include "mc/external/webrtc/RtpSequenceNumberMap.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace webrtc { class Environment; }
15namespace webrtc { class PacketSequencer; }
16namespace webrtc { class RtpPacketHistory; }
17namespace webrtc { class RtpPacketToSend; }
18namespace webrtc { class RtpSendRates; }
19namespace webrtc { class TaskQueueBase; }
20namespace webrtc { class Timestamp; }
21namespace webrtc { struct FecProtectionParams; }
22namespace webrtc { struct PacedPacketInfo; }
23namespace webrtc { struct RtpPacketCounter; }
24namespace webrtc { struct StreamDataCounters; }
25// clang-format on
26
27namespace webrtc {
28
29class RtpSenderEgress {
30public:
31 // RtpSenderEgress inner types declare
32 // clang-format off
34 struct Packet;
35 // clang-format on
36
37 // RtpSenderEgress inner types define
38 class NonPacedPacketSender : public ::webrtc::RtpPacketSender {
39 public:
40 // member variables
41 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 NonPacedPacketSender& operator=(NonPacedPacketSender const&);
52 NonPacedPacketSender(NonPacedPacketSender const&);
53 NonPacedPacketSender();
54
55 public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual ~NonPacedPacketSender() /*override*/;
59
60 virtual void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets) /*override*/;
61
62 virtual void RemovePacketsForSsrc(uint) /*override*/;
63 // NOLINTEND
64
65 public:
66 // member functions
67 // NOLINTBEGIN
69 ::webrtc::TaskQueueBase& worker_queue,
72 );
73 // NOLINTEND
74
75 public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCNAPI void* $ctor(
79 ::webrtc::TaskQueueBase& worker_queue,
82 );
83 // NOLINTEND
84
85 public:
86 // destructor thunk
87 // NOLINTBEGIN
88 MCNAPI void $dtor();
89 // NOLINTEND
90
91 public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCNAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
95
96 MCNAPI void $RemovePacketsForSsrc(uint);
97
98
99 // NOLINTEND
100
101 public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106 };
107
108 struct Packet {
109 public:
110 // member variables
111 // NOLINTBEGIN
115 // NOLINTEND
116
117 public:
118 // prevent constructor by default
119 Packet& operator=(Packet const&);
120 Packet(Packet const&);
121 Packet();
122
123 public:
124 // member functions
125 // NOLINTBEGIN
126 MCNAPI ~Packet();
127 // NOLINTEND
128
129 public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCNAPI void $dtor();
133 // NOLINTEND
134 };
135
136public:
137 // member variables
138 // NOLINTBEGIN
168 // NOLINTEND
169
170public:
171 // prevent constructor by default
172 RtpSenderEgress& operator=(RtpSenderEgress const&);
173 RtpSenderEgress(RtpSenderEgress const&);
174 RtpSenderEgress();
175
176public:
177 // member functions
178 // NOLINTBEGIN
179 MCNAPI void CompleteSendPacket(::webrtc::RtpSenderEgress::Packet const& compound_packet, bool last_in_batch);
180
181 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFecPackets();
182
183 MCNAPI void ForceIncludeSendPacketsInAllocation(bool part_of_allocation);
184
186
187 MCNAPI ::webrtc::RtpSendRates GetSendRates(::webrtc::Timestamp now) const;
188
189 MCNAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
191
192 MCNAPI bool MediaHasBeenSent() const;
193
195
196 MCNAPI void OnBatchComplete();
197
199 ::webrtc::Environment const& env,
201 ::webrtc::RtpPacketHistory* packet_history
202 );
203
204 MCNAPI void
205 SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::PacedPacketInfo const& pacing_info);
206
208 ::webrtc::FecProtectionParams const& delta_params,
209 ::webrtc::FecProtectionParams const& key_params
210 );
211
212 MCNAPI void SetTimestampOffset(uint timestamp);
213
214 MCNAPI void UpdateRtpStats(
216 uint packet_ssrc,
217 ::webrtc::RtpPacketMediaType packet_type,
219 uint64 packet_size
220 );
221
223 // NOLINTEND
224
225public:
226 // constructor thunks
227 // NOLINTBEGIN
228 MCNAPI void* $ctor(
229 ::webrtc::Environment const& env,
231 ::webrtc::RtpPacketHistory* packet_history
232 );
233 // NOLINTEND
234
235public:
236 // destructor thunk
237 // NOLINTBEGIN
238 MCNAPI void $dtor();
239 // NOLINTEND
240};
241
242} // namespace webrtc
Definition ArrayView.h:8
Definition Environment.h:7
Definition PacketSequencer.h:14
Definition RtpPacketHistory.h:19
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
Definition RtpSendRates.h:7
Definition RtpSenderEgress.h:38
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 NonPacedPacketSender(::webrtc::TaskQueueBase &worker_queue, ::webrtc::RtpSenderEgress *sender, ::webrtc::PacketSequencer *sequencer)
Definition RtpSenderEgress.h:29
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 RtpSenderEgress(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history)
MCAPI::webrtc::RtpSendRates GetSendRates(::webrtc::Timestamp now) const
MCAPI void SetTimestampOffset(uint timestamp)
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 ::std::vector<::webrtc::RtpSequenceNumberMap::Info > GetSentRtpPacketInfos(::webrtc::ArrayView< ushort const > sequence_numbers) const
MCAPI void OnAbortedRetransmissions(::webrtc::ArrayView< ushort const > sequence_numbers)
MCAPI void GetDataCounters(::webrtc::StreamDataCounters *rtp_stats, ::webrtc::StreamDataCounters *rtx_stats) const
MCAPI void OnBatchComplete()
MCAPI void UpdateRtpStats(::webrtc::Timestamp now, uint packet_ssrc, ::webrtc::RtpPacketMediaType packet_type, ::webrtc::RtpPacketCounter counter, uint64 packet_size)
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history)
MCAPI void ForceIncludeSendPacketsInAllocation(bool part_of_allocation)
Definition TaskQueueBase.h:16
Definition Timestamp.h:15
Definition Alias.h:14
Definition FecProtectionParams.h:7
Definition PacedPacketInfo.h:7
Definition RtpPacketCounter.h:12
Definition RtpRtcpInterface.h:38
Definition RtpSenderEgress.h:108
Definition StreamDataCounters.h:7