LeviLamina
Loading...
Searching...
No Matches
PacketRouter.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/PacingController.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class DataSize; }
12namespace webrtc { class RtcpFeedbackSenderInterface; }
13namespace webrtc { class RtpPacketToSend; }
14namespace webrtc { class RtpRtcpInterface; }
15namespace webrtc { struct PacedPacketInfo; }
16// clang-format on
17
18namespace webrtc {
19
21public:
22 // member variables
23 // NOLINTBEGIN
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 PacketRouter& operator=(PacketRouter const&);
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 // vIndex: 0
47 virtual ~PacketRouter() /*override*/;
48
49 // vIndex: 1
50 virtual void SendPacket(
51 ::std::unique_ptr<::webrtc::RtpPacketToSend> packet,
52 ::webrtc::PacedPacketInfo const& cluster_info
53 ) /*override*/;
54
55 // vIndex: 2
56 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFec() /*override*/;
57
58 // vIndex: 3
59 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>>
60 GeneratePadding(::webrtc::DataSize size) /*override*/;
61
62 // vIndex: 5
63 virtual void OnAbortedRetransmissions(uint ssrc, ::rtc::ArrayView<ushort const> sequence_numbers) /*override*/;
64
65 // vIndex: 6
66 virtual ::std::optional<uint> GetRtxSsrcForMedia(uint ssrc) const /*override*/;
67
68 // vIndex: 4
69 virtual void OnBatchComplete() /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCNAPI void AddRembModuleCandidate(::webrtc::RtcpFeedbackSenderInterface* candidate_module, bool media_sender);
76
77 MCNAPI void AddSendRtpModule(::webrtc::RtpRtcpInterface* rtp_module, bool remb_candidate);
78
79 MCNAPI void AddSendRtpModuleToMap(::webrtc::RtpRtcpInterface* rtp_module, uint ssrc);
80
82
83 MCNAPI void
85
86 MCNAPI PacketRouter();
87
90 );
91
93
94 MCNAPI void RemoveSendRtpModuleFromMap(uint ssrc);
95
96 MCNAPI bool SupportsRtxPayloadPadding() const;
97
98 MCNAPI void UnsetActiveRembModule();
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCNAPI void* $ctor();
105 // NOLINTEND
106
107public:
108 // destructor thunk
109 // NOLINTBEGIN
110 MCNAPI void $dtor();
111 // NOLINTEND
112
113public:
114 // virtual function thunks
115 // NOLINTBEGIN
116 MCNAPI void
117 $SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::PacedPacketInfo const& cluster_info);
118
119 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> $FetchFec();
120
121 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> $GeneratePadding(::webrtc::DataSize size);
122
123 MCNAPI void $OnAbortedRetransmissions(uint ssrc, ::rtc::ArrayView<ushort const> sequence_numbers);
124
125 MCNAPI ::std::optional<uint> $GetRtxSsrcForMedia(uint ssrc) const;
126
127 MCNAPI void $OnBatchComplete();
128 // NOLINTEND
129
130public:
131 // vftables
132 // NOLINTBEGIN
133 MCNAPI static void** $vftable();
134 // NOLINTEND
135};
136
137} // namespace webrtc
Definition AnyInvocable.h:8
Definition _HeaderOutputPredefine.h:260
Definition DataSize.h:10
Definition PacingController.h:32
Definition PacketRouter.h:20
MCAPI bool SupportsRtxPayloadPadding() const
MCAPI void $OnBatchComplete()
MCAPI void AddSendRtpModuleToMap(::webrtc::RtpRtcpInterface *rtp_module, uint ssrc)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > $GeneratePadding(::webrtc::DataSize size)
static MCAPI void ** $vftable()
MCAPI void RemoveSendRtpModule(::webrtc::RtpRtcpInterface *rtp_module)
MCAPI void $dtor()
MCAPI void MaybeRemoveRembModuleCandidate(::webrtc::RtcpFeedbackSenderInterface *candidate_module, bool media_sender)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > $FetchFec()
MCAPI void UnsetActiveRembModule()
MCAPI void $OnAbortedRetransmissions(uint ssrc, ::rtc::ArrayView< ushort const > sequence_numbers)
MCAPI void AddSendRtpModule(::webrtc::RtpRtcpInterface *rtp_module, bool remb_candidate)
MCAPI void $SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend > packet, ::webrtc::PacedPacketInfo const &cluster_info)
MCAPI void DetermineActiveRembModule()
MCAPI void RegisterNotifyBweCallback(::absl::AnyInvocable< void(::webrtc::RtpPacketToSend const &, ::webrtc::PacedPacketInfo const &)> callback)
MCAPI ::std::optional< uint > $GetRtxSsrcForMedia(uint ssrc) const
MCAPI void AddRembModuleCandidate(::webrtc::RtcpFeedbackSenderInterface *candidate_module, bool media_sender)
MCAPI void * $ctor()
MCAPI void RemoveSendRtpModuleFromMap(uint ssrc)
Definition RtcpFeedbackSenderInterface.h:12
Definition RtpPacketToSend.h:16
Definition RtpRtcpInterface.h:27
Definition Alias.h:14
Definition PacedPacketInfo.h:7