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#include "mc/external/webrtc/RtpRtcpInterface.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class DataSize; }
13namespace webrtc { class RtpPacketToSend; }
14namespace webrtc { struct PacedPacketInfo; }
15// clang-format on
16
17namespace webrtc {
18
19class PacketRouter : public ::webrtc::PacingController::PacketSender {
20public:
21 // member variables
22 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 PacketRouter& operator=(PacketRouter const&);
40 PacketRouter(PacketRouter const&);
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~PacketRouter() /*override*/;
46
47 virtual void SendPacket(
48 ::std::unique_ptr<::webrtc::RtpPacketToSend> packet,
49 ::webrtc::PacedPacketInfo const& cluster_info
50 ) /*override*/;
51
52 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFec() /*override*/;
53
54 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>>
55 GeneratePadding(::webrtc::DataSize size) /*override*/;
56
57 virtual void OnAbortedRetransmissions(uint ssrc, ::rtc::ArrayView<ushort const> sequence_numbers) /*override*/;
58
59 virtual ::std::optional<uint> GetRtxSsrcForMedia(uint ssrc) const /*override*/;
60
61 virtual void OnBatchComplete() /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI void AddSendRtpModule(::webrtc::RtpRtcpInterface* rtp_module, bool remb_candidate);
68
69 MCNAPI void AddSendRtpModuleToMap(::webrtc::RtpRtcpInterface* rtp_module, uint ssrc);
70
72
73 MCNAPI PacketRouter();
74
77 );
78
80
81 MCNAPI void RemoveSendRtpModuleFromMap(uint ssrc);
82
83 MCNAPI bool SupportsRtxPayloadPadding() const;
84
85 MCNAPI void UnsetActiveRembModule();
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor();
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCNAPI void $dtor();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCNAPI void
104 $SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::PacedPacketInfo const& cluster_info);
105
106 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> $FetchFec();
107
108 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> $GeneratePadding(::webrtc::DataSize size);
109
110 MCNAPI void $OnAbortedRetransmissions(uint ssrc, ::rtc::ArrayView<ushort const> sequence_numbers);
111
112 MCNAPI ::std::optional<uint> $GetRtxSsrcForMedia(uint ssrc) const;
113
114 MCNAPI void $OnBatchComplete();
115
116
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
125
126} // namespace webrtc
Definition AnyInvocable.h:8
Definition _HeaderOutputPredefine.h:309
Definition DataSize.h:10
Definition PacingController.h:51
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 ::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 * $ctor()
MCAPI void RemoveSendRtpModuleFromMap(uint ssrc)
Definition RtpPacketToSend.h:16
Definition RtpRtcpInterface.h:27
Definition Alias.h:14
Definition PacedPacketInfo.h:7