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
23class RTPSenderVideo : public ::webrtc::RTPVideoFrameSenderInterface {
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 enum class SendVideoLayersAllocation : int {
33 KSendWithResolution = 0,
34 KSendWithoutResolution = 1,
35 KDontSend = 2,
36 };
37
38 struct Config {
39 public:
40 // member variables
41 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 Config& operator=(Config const&);
58 Config(Config const&);
59 Config();
60
61 public:
62 // member functions
63 // NOLINTBEGIN
64 MCNAPI ~Config();
65 // NOLINTEND
66
67 public:
68 // destructor thunk
69 // NOLINTBEGIN
70 MCNAPI void $dtor();
71 // NOLINTEND
72 };
73
74 struct TemporalLayerStats {
75 public:
76 // member variables
77 // NOLINTBEGIN
80 // NOLINTEND
81
82 public:
83 // prevent constructor by default
84 TemporalLayerStats& operator=(TemporalLayerStats const&);
85 TemporalLayerStats(TemporalLayerStats const&);
86 TemporalLayerStats();
87 };
88
89public:
90 // member variables
91 // NOLINTBEGIN
120 // NOLINTEND
121
122public:
123 // prevent constructor by default
124 RTPSenderVideo& operator=(RTPSenderVideo const&);
125 RTPSenderVideo(RTPSenderVideo const&);
126 RTPSenderVideo();
127
128public:
129 // virtual functions
130 // NOLINTBEGIN
131 virtual ~RTPSenderVideo() /*override*/ = default;
132
133 virtual bool SendVideo(
134 int payload_type,
135 ::std::optional<::webrtc::VideoCodecType> codec_type,
136 uint rtp_timestamp,
137 ::webrtc::Timestamp capture_time,
139 uint64 encoder_output_size,
140 ::webrtc::RTPVideoHeader video_header,
141 ::webrtc::TimeDelta expected_retransmission_time,
142 ::std::vector<uint> csrcs
143 ) /*override*/;
144
145 virtual void
146 SetVideoStructureAfterTransformation(::webrtc::FrameDependencyStructure const* video_structure) /*override*/;
147
148 virtual void SetVideoLayersAllocationAfterTransformation(::webrtc::VideoLayersAllocation allocation) /*override*/;
149 // NOLINTEND
150
151public:
152 // member functions
153 // NOLINTBEGIN
155 ::webrtc::RTPVideoHeader const& video_header,
156 bool first_packet,
157 bool last_packet,
159 ) const;
160
162 ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets,
163 uint64 encoder_output_size
164 );
165
166 MCNAPI ::webrtc::DataRate PostEncodeOverhead() const;
167
168 MCNAPI explicit RTPSenderVideo(::webrtc::RTPSenderVideo::Config const& config);
169
170 MCNAPI bool SendEncodedImage(
171 int payload_type,
172 ::std::optional<::webrtc::VideoCodecType> codec_type,
173 uint rtp_timestamp,
174 ::webrtc::EncodedImage const& encoded_image,
175 ::webrtc::RTPVideoHeader video_header,
176 ::webrtc::TimeDelta expected_retransmission_time
177 );
178
179 MCNAPI void SetRetransmissionSetting(int retransmission_settings);
180
182
184
185 MCNAPI void SetVideoStructure(::webrtc::FrameDependencyStructure const* video_structure);
186
188
189 MCNAPI bool UpdateConditionalRetransmit(uchar temporal_id, ::webrtc::TimeDelta expected_retransmission_time);
190 // NOLINTEND
191
192public:
193 // static variables
194 // NOLINTBEGIN
195 MCNAPI static ::webrtc::TimeDelta const& kTLRateWindowSize();
196 // NOLINTEND
197
198public:
199 // constructor thunks
200 // NOLINTBEGIN
201 MCNAPI void* $ctor(::webrtc::RTPSenderVideo::Config const& config);
202 // NOLINTEND
203
204public:
205 // virtual function thunks
206 // NOLINTBEGIN
207 MCNAPI bool $SendVideo(
208 int payload_type,
209 ::std::optional<::webrtc::VideoCodecType> codec_type,
210 uint rtp_timestamp,
211 ::webrtc::Timestamp capture_time,
213 uint64 encoder_output_size,
214 ::webrtc::RTPVideoHeader video_header,
215 ::webrtc::TimeDelta expected_retransmission_time,
216 ::std::vector<uint> csrcs
217 );
218
220
222
223
224 // NOLINTEND
225
226public:
227 // vftables
228 // NOLINTBEGIN
229 MCNAPI static void** $vftable();
230 // NOLINTEND
231};
232
233} // namespace webrtc
Definition _HeaderOutputPredefine.h:309
Definition DataRate.h:10
Definition EncodedImage.h:12
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 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)
MCAPI void SetVideoStructureInternal(::webrtc::FrameDependencyStructure const *video_structure)
MCAPI void SetVideoLayersAllocationInternal(::webrtc::VideoLayersAllocation allocation)
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:15
Definition Alias.h:14
Definition FrameDependencyStructure.h:10
Definition RTPSenderVideo.h:38
Definition RTPSenderVideo.h:74
Definition RTPVideoHeader.h:12
Definition VideoLayersAllocation.h:7