LeviLamina
Loading...
Searching...
No Matches
FlexfecSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/VideoFecGenerator.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class Clock; }
11namespace webrtc { class DataRate; }
12namespace webrtc { class RtpPacketToSend; }
13namespace webrtc { struct FecProtectionParams; }
14namespace webrtc { struct RtpExtension; }
15namespace webrtc { struct RtpExtensionSize; }
16namespace webrtc { struct RtpState; }
17// clang-format on
18
19namespace webrtc {
20
21class FlexfecSender : public ::webrtc::VideoFecGenerator {
22public:
23 // member variables
24 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 FlexfecSender& operator=(FlexfecSender const&);
44 FlexfecSender(FlexfecSender const&);
45 FlexfecSender();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~FlexfecSender() /*override*/ = default;
51
52 virtual ::webrtc::VideoFecGenerator::FecType GetFecType() const /*override*/;
53
54 virtual ::std::optional<uint> FecSsrc() /*override*/;
55
56 virtual void SetProtectionParameters(
57 ::webrtc::FecProtectionParams const& delta_params,
58 ::webrtc::FecProtectionParams const& key_params
59 ) /*override*/;
60
61 virtual void AddPacketAndGenerateFec(::webrtc::RtpPacketToSend const& packet) /*override*/;
62
63 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> GetFecPackets() /*override*/;
64
65 virtual uint64 MaxPacketOverhead() const /*override*/;
66
67 virtual ::webrtc::DataRate CurrentFecRate() const /*override*/;
68
69 virtual ::std::optional<::webrtc::RtpState> GetRtpState() /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
76 int payload_type,
77 uint ssrc,
78 uint protected_media_ssrc,
79 ::std::string_view mid,
80 ::std::vector<::webrtc::RtpExtension> const& rtp_header_extensions,
82 ::webrtc::RtpState const* rtp_state,
83 ::webrtc::Clock* clock
84 );
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCNAPI void* $ctor(
91 int payload_type,
92 uint ssrc,
93 uint protected_media_ssrc,
94 ::std::string_view mid,
95 ::std::vector<::webrtc::RtpExtension> const& rtp_header_extensions,
97 ::webrtc::RtpState const* rtp_state,
98 ::webrtc::Clock* clock
99 );
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCNAPI ::webrtc::VideoFecGenerator::FecType $GetFecType() const;
106
107 MCNAPI ::std::optional<uint> $FecSsrc();
108
110 ::webrtc::FecProtectionParams const& delta_params,
111 ::webrtc::FecProtectionParams const& key_params
112 );
113
115
116 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> $GetFecPackets();
117
118 MCNAPI uint64 $MaxPacketOverhead() const;
119
120 MCNAPI ::webrtc::DataRate $CurrentFecRate() const;
121
122 MCNAPI ::std::optional<::webrtc::RtpState> $GetRtpState();
123
124
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
133
134} // namespace webrtc
Definition _HeaderOutputPredefine.h:309
Definition Clock.h:13
Definition DataRate.h:10
MCAPI ::std::optional<::webrtc::RtpState > $GetRtpState()
MCAPI void $AddPacketAndGenerateFec(::webrtc::RtpPacketToSend const &packet)
MCAPI FlexfecSender(int payload_type, uint ssrc, uint protected_media_ssrc, ::std::string_view mid, ::std::vector<::webrtc::RtpExtension > const &rtp_header_extensions, ::rtc::ArrayView<::webrtc::RtpExtensionSize const > extension_sizes, ::webrtc::RtpState const *rtp_state, ::webrtc::Clock *clock)
MCAPI void * $ctor(int payload_type, uint ssrc, uint protected_media_ssrc, ::std::string_view mid, ::std::vector<::webrtc::RtpExtension > const &rtp_header_extensions, ::rtc::ArrayView<::webrtc::RtpExtensionSize const > extension_sizes, ::webrtc::RtpState const *rtp_state, ::webrtc::Clock *clock)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > $GetFecPackets()
MCAPI ::std::optional< uint > $FecSsrc()
static MCAPI void ** $vftable()
MCAPI::webrtc::DataRate $CurrentFecRate() const
MCAPI void $SetProtectionParameters(::webrtc::FecProtectionParams const &delta_params, ::webrtc::FecProtectionParams const &key_params)
MCAPI uint64 $MaxPacketOverhead() const
MCAPI::webrtc::VideoFecGenerator::FecType $GetFecType() const
Definition RtpPacketToSend.h:16
Definition VideoFecGenerator.h:15
Definition Alias.h:14
Definition FecProtectionParams.h:7
Definition RtpExtensionSize.h:7
Definition RtpExtension.h:7
Definition RtpState.h:7