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/ArrayView.h"
7#include "mc/external/webrtc/RTPVideoFrameSenderInterface.h"
8#include "mc/external/webrtc/VideoCodecType.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class DataRate; }
13namespace webrtc { class EncodedImage; }
14namespace webrtc { class RtpPacketToSend; }
15namespace webrtc { class TimeDelta; }
16namespace webrtc { class Timestamp; }
17namespace webrtc { struct FrameDependencyStructure; }
18namespace webrtc { struct RTPVideoHeader; }
19namespace webrtc { struct VideoLayersAllocation; }
20// clang-format on
21
22namespace webrtc {
23
24class RTPSenderVideo : public ::webrtc::RTPVideoFrameSenderInterface {
25public:
26 // RTPSenderVideo inner types declare
27 // clang-format off
28 struct Config;
29 struct TemporalLayerStats;
30 // clang-format on
31
32 // RTPSenderVideo inner types define
33 enum class SendVideoLayersAllocation : int {
34 KSendWithResolution = 0,
35 KSendWithoutResolution = 1,
36 KDontSend = 2,
37 };
38
39 struct Config {
40 public:
41 // member variables
42 // NOLINTBEGIN
54 // NOLINTEND
55
56 public:
57 // prevent constructor by default
58 Config& operator=(Config const&);
59 Config(Config const&);
60 Config();
61
62 public:
63 // member functions
64 // NOLINTBEGIN
65 MCNAPI ~Config();
66 // NOLINTEND
67
68 public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCNAPI void $dtor();
72 // NOLINTEND
73 };
74
75 struct TemporalLayerStats {
76 public:
77 // member variables
78 // NOLINTBEGIN
81 // NOLINTEND
82
83 public:
84 // prevent constructor by default
85 TemporalLayerStats& operator=(TemporalLayerStats const&);
86 TemporalLayerStats(TemporalLayerStats const&);
87 TemporalLayerStats();
88 };
89
90public:
91 // member variables
92 // NOLINTBEGIN
121 // NOLINTEND
122
123public:
124 // prevent constructor by default
125 RTPSenderVideo& operator=(RTPSenderVideo const&);
126 RTPSenderVideo(RTPSenderVideo const&);
127 RTPSenderVideo();
128
129public:
130 // virtual functions
131 // NOLINTBEGIN
132 virtual ~RTPSenderVideo() /*override*/ = default;
133
134 virtual bool SendVideo(
135 int payload_type,
136 ::std::optional<::webrtc::VideoCodecType> codec_type,
137 uint rtp_timestamp,
138 ::webrtc::Timestamp capture_time,
140 uint64 encoder_output_size,
141 ::webrtc::RTPVideoHeader video_header,
142 ::webrtc::TimeDelta expected_retransmission_time,
143 ::std::vector<uint> csrcs
144 ) /*override*/;
145
146 virtual void
147 SetVideoStructureAfterTransformation(::webrtc::FrameDependencyStructure const* video_structure) /*override*/;
148
149 virtual void SetVideoLayersAllocationAfterTransformation(::webrtc::VideoLayersAllocation allocation) /*override*/;
150 // NOLINTEND
151
152public:
153 // member functions
154 // NOLINTBEGIN
156 ::webrtc::RTPVideoHeader const& video_header,
157 bool first_packet,
158 bool last_packet,
160 ) const;
161
163 ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets,
164 uint64 encoder_output_size
165 );
166
167 MCNAPI ::webrtc::DataRate PostEncodeOverhead() const;
168
169 MCNAPI explicit RTPSenderVideo(::webrtc::RTPSenderVideo::Config const& config);
170
171 MCNAPI bool SendEncodedImage(
172 int payload_type,
173 ::std::optional<::webrtc::VideoCodecType> codec_type,
174 uint rtp_timestamp,
175 ::webrtc::EncodedImage const& encoded_image,
176 ::webrtc::RTPVideoHeader video_header,
177 ::webrtc::TimeDelta expected_retransmission_time,
178 ::std::vector<uint> const& csrcs
179 );
180
181 MCNAPI void SetRetransmissionSetting(int retransmission_settings);
182
184
186
187 MCNAPI void SetVideoStructure(::webrtc::FrameDependencyStructure const* video_structure);
188
190
191 MCNAPI bool UpdateConditionalRetransmit(uchar temporal_id, ::webrtc::TimeDelta expected_retransmission_time);
192 // NOLINTEND
193
194public:
195 // static variables
196 // NOLINTBEGIN
197 MCNAPI static ::webrtc::TimeDelta const& kTLRateWindowSize();
198 // NOLINTEND
199
200public:
201 // constructor thunks
202 // NOLINTBEGIN
203 MCNAPI void* $ctor(::webrtc::RTPSenderVideo::Config const& config);
204 // NOLINTEND
205
206public:
207 // virtual function thunks
208 // NOLINTBEGIN
209 MCNAPI bool $SendVideo(
210 int payload_type,
211 ::std::optional<::webrtc::VideoCodecType> codec_type,
212 uint rtp_timestamp,
213 ::webrtc::Timestamp capture_time,
215 uint64 encoder_output_size,
216 ::webrtc::RTPVideoHeader video_header,
217 ::webrtc::TimeDelta expected_retransmission_time,
218 ::std::vector<uint> csrcs
219 );
220
222
224
225
226 // NOLINTEND
227
228public:
229 // vftables
230 // NOLINTBEGIN
231 MCNAPI static void** $vftable();
232 // NOLINTEND
233};
234
235} // namespace webrtc
Definition ArrayView.h:8
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 RTPSenderVideo(::webrtc::RTPSenderVideo::Config const &config)
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 bool $SendVideo(int payload_type, ::std::optional<::webrtc::VideoCodecType > codec_type, uint rtp_timestamp, ::webrtc::Timestamp capture_time, ::webrtc::ArrayView< uchar const > payload, uint64 encoder_output_size, ::webrtc::RTPVideoHeader video_header, ::webrtc::TimeDelta expected_retransmission_time, ::std::vector< uint > csrcs)
MCAPI void SetVideoStructure(::webrtc::FrameDependencyStructure const *video_structure)
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, ::std::vector< uint > const &csrcs)
MCAPI void $SetVideoLayersAllocationAfterTransformation(::webrtc::VideoLayersAllocation allocation)
Definition RTPVideoFrameSenderInterface.h:20
Definition RtpPacketToSend.h:16
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition Alias.h:14
Definition FrameDependencyStructure.h:7
Definition RTPSenderVideo.h:39
Definition RTPSenderVideo.h:75
Definition RTPVideoHeader.h:12
Definition VideoLayersAllocation.h:7