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