LeviLamina
Loading...
Searching...
No Matches
RTPSenderVideo.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RTPVideoFrameSenderInterface.h"
7#include "mc/external/webrtc/VideoCodecType.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class DataRate; }
12namespace webrtc { class EncodedImage; }
13namespace webrtc { class RtpPacketToSend; }
14namespace webrtc { class TimeDelta; }
15namespace webrtc { class Timestamp; }
16namespace webrtc { struct FrameDependencyStructure; }
17namespace webrtc { struct RTPVideoHeader; }
18namespace webrtc { struct VideoLayersAllocation; }
19// clang-format on
20
21namespace webrtc {
22
24public:
25 // RTPSenderVideo inner types declare
26 // clang-format off
27 struct Config;
28 struct TemporalLayerStats;
29 // clang-format on
30
31 // RTPSenderVideo inner types define
32 struct Config {
33 public:
34 // member variables
35 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 Config& operator=(Config const&);
52 Config(Config const&);
53 Config();
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI ~Config();
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCNAPI void $dtor();
65 // NOLINTEND
66 };
67
69 public:
70 // member variables
71 // NOLINTBEGIN
74 // NOLINTEND
75
76 public:
77 // prevent constructor by default
78 TemporalLayerStats& operator=(TemporalLayerStats const&);
81 };
82
83 enum class SendVideoLayersAllocation : int {
84 KSendWithResolution = 0,
85 KSendWithoutResolution = 1,
86 KDontSend = 2,
87 };
88
89public:
90 // member variables
91 // NOLINTBEGIN
120 // NOLINTEND
121
122public:
123 // prevent constructor by default
124 RTPSenderVideo& operator=(RTPSenderVideo const&);
127
128public:
129 // virtual functions
130 // NOLINTBEGIN
131 // vIndex: 3
132 virtual ~RTPSenderVideo() /*override*/;
133
134 // vIndex: 0
135 virtual bool SendVideo(
136 int payload_type,
137 ::std::optional<::webrtc::VideoCodecType> codec_type,
138 uint rtp_timestamp,
139 ::webrtc::Timestamp capture_time,
141 uint64 encoder_output_size,
142 ::webrtc::RTPVideoHeader video_header,
143 ::webrtc::TimeDelta expected_retransmission_time,
144 ::std::vector<uint> csrcs
145 ) /*override*/;
146
147 // vIndex: 1
148 virtual void
149 SetVideoStructureAfterTransformation(::webrtc::FrameDependencyStructure const* video_structure) /*override*/;
150
151 // vIndex: 2
152 virtual void SetVideoLayersAllocationAfterTransformation(::webrtc::VideoLayersAllocation allocation) /*override*/;
153 // NOLINTEND
154
155public:
156 // member functions
157 // NOLINTBEGIN
159 ::webrtc::RTPVideoHeader const& video_header,
160 bool first_packet,
161 bool last_packet,
163 ) const;
164
166 uchar temporal_id,
167 int retransmission_settings,
168 ::webrtc::TimeDelta expected_retransmission_time
169 );
170
171 MCNAPI uint64 FecPacketOverhead() const;
172
174 ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets,
175 uint64 encoder_output_size
176 );
177
179
180 MCNAPI ::webrtc::DataRate PostEncodeOverhead() const;
181
182 MCNAPI explicit RTPSenderVideo(::webrtc::RTPSenderVideo::Config const& config);
183
184 MCNAPI bool SendEncodedImage(
185 int payload_type,
186 ::std::optional<::webrtc::VideoCodecType> codec_type,
187 uint rtp_timestamp,
188 ::webrtc::EncodedImage const& encoded_image,
189 ::webrtc::RTPVideoHeader video_header,
190 ::webrtc::TimeDelta expected_retransmission_time
191 );
192
193 MCNAPI void SetRetransmissionSetting(int retransmission_settings);
194
196
198
199 MCNAPI void SetVideoStructure(::webrtc::FrameDependencyStructure const* video_structure);
200
202
203 MCNAPI bool UpdateConditionalRetransmit(uchar temporal_id, ::webrtc::TimeDelta expected_retransmission_time);
204 // NOLINTEND
205
206public:
207 // static functions
208 // NOLINTBEGIN
209 MCNAPI static uchar GetTemporalId(::webrtc::RTPVideoHeader const& header);
210 // NOLINTEND
211
212public:
213 // static variables
214 // NOLINTBEGIN
215 MCNAPI static ::webrtc::TimeDelta const& kTLRateWindowSize();
216 // NOLINTEND
217
218public:
219 // constructor thunks
220 // NOLINTBEGIN
221 MCNAPI void* $ctor(::webrtc::RTPSenderVideo::Config const& config);
222 // NOLINTEND
223
224public:
225 // destructor thunk
226 // NOLINTBEGIN
227 MCNAPI void $dtor();
228 // NOLINTEND
229
230public:
231 // virtual function thunks
232 // NOLINTBEGIN
233 MCNAPI bool $SendVideo(
234 int payload_type,
235 ::std::optional<::webrtc::VideoCodecType> codec_type,
236 uint rtp_timestamp,
237 ::webrtc::Timestamp capture_time,
239 uint64 encoder_output_size,
240 ::webrtc::RTPVideoHeader video_header,
241 ::webrtc::TimeDelta expected_retransmission_time,
242 ::std::vector<uint> csrcs
243 );
244
246
248 // NOLINTEND
249
250public:
251 // vftables
252 // NOLINTBEGIN
253 MCNAPI static void** $vftable();
254 // NOLINTEND
255};
256
257} // namespace webrtc
Definition _HeaderOutputPredefine.h:260
Definition EncodedImage.h:12
Definition RTPSenderVideo.h:23
static MCAPI ::webrtc::TimeDelta const & kTLRateWindowSize()
static MCAPI void ** $vftable()
MCAPI void LogAndSendToNetwork(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > packets, uint64 encoder_output_size)
MCAPI bool UpdateConditionalRetransmit(uchar temporal_id, ::webrtc::TimeDelta expected_retransmission_time)
MCAPI void SetRetransmissionSetting(int retransmission_settings)
MCAPI void * $ctor(::webrtc::RTPSenderVideo::Config const &config)
MCAPI bool SendEncodedImage(int payload_type, ::std::optional<::webrtc::VideoCodecType > codec_type, uint rtp_timestamp, ::webrtc::EncodedImage const &encoded_image, ::webrtc::RTPVideoHeader video_header, ::webrtc::TimeDelta expected_retransmission_time)
MCAPI RTPSenderVideo(::webrtc::RTPSenderVideo::Config const &config)
MCAPI void MaybeUpdateCurrentPlayoutDelay(::webrtc::RTPVideoHeader const &header)
MCAPI bool $SendVideo(int payload_type, ::std::optional<::webrtc::VideoCodecType > codec_type, uint rtp_timestamp, ::webrtc::Timestamp capture_time, ::rtc::ArrayView< uchar const > payload, uint64 encoder_output_size, ::webrtc::RTPVideoHeader video_header, ::webrtc::TimeDelta expected_retransmission_time, ::std::vector< uint > csrcs)
MCAPI void SetVideoLayersAllocation(::webrtc::VideoLayersAllocation allocation)
static MCAPI uchar GetTemporalId(::webrtc::RTPVideoHeader const &header)
MCAPI void SetVideoStructureInternal(::webrtc::FrameDependencyStructure const *video_structure)
MCAPI bool AllowRetransmission(uchar temporal_id, int retransmission_settings, ::webrtc::TimeDelta expected_retransmission_time)
MCAPI void SetVideoLayersAllocationInternal(::webrtc::VideoLayersAllocation allocation)
MCAPI uint64 FecPacketOverhead() const
MCAPI::webrtc::DataRate PostEncodeOverhead() const
MCAPI void $SetVideoStructureAfterTransformation(::webrtc::FrameDependencyStructure const *video_structure)
MCAPI void AddRtpHeaderExtensions(::webrtc::RTPVideoHeader const &video_header, bool first_packet, bool last_packet, ::webrtc::RtpPacketToSend *packet) const
MCAPI void SetVideoStructure(::webrtc::FrameDependencyStructure const *video_structure)
MCAPI void $SetVideoLayersAllocationAfterTransformation(::webrtc::VideoLayersAllocation allocation)
Definition RTPVideoFrameSenderInterface.h:19
Definition RtpPacketToSend.h:16
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition Alias.h:14
Definition FrameDependencyStructure.h:7
Definition RTPSenderVideo.h:32
Definition RTPSenderVideo.h:68
Definition RTPVideoHeader.h:12
Definition VideoLayersAllocation.h:7