LeviLamina
Loading...
Searching...
No Matches
RtpSenderBase.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/ObserverInterface.h"
8#include "mc/external/webrtc/RtpSenderInternal.h"
9#include "mc/external/webrtc/VideoEncoderFactory.h"
10#include "mc/external/webrtc/scoped_refptr.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace webrtc { class DtlsTransportInterface; }
15namespace webrtc { class Environment; }
16namespace webrtc { class FrameEncryptorInterface; }
17namespace webrtc { class FrameTransformerInterface; }
18namespace webrtc { class MediaSendChannelInterface; }
19namespace webrtc { class MediaStreamTrackInterface; }
20namespace webrtc { class RTCError; }
21namespace webrtc { class RtpSenderObserverInterface; }
22namespace webrtc { class Thread; }
23namespace webrtc { struct Codec; }
24namespace webrtc { struct RtpEncodingParameters; }
25namespace webrtc { struct RtpParameters; }
26// clang-format on
27
28namespace webrtc {
29
30class RtpSenderBase : public ::webrtc::RtpSenderInternal, public ::webrtc::ObserverInterface {
31public:
32 // RtpSenderBase inner types declare
33 // clang-format off
35 // clang-format on
36
37 // RtpSenderBase inner types define
39 public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~SetStreamsObserver() = default;
43
44 virtual void OnSetStreams() = 0;
45 // NOLINTEND
46 };
47
48public:
49 // member variables
50 // NOLINTBEGIN
73 // NOLINTEND
74
75public:
76 // prevent constructor by default
77 RtpSenderBase& operator=(RtpSenderBase const&);
78 RtpSenderBase(RtpSenderBase const&);
79 RtpSenderBase();
80
81public:
82 // virtual functions
83 // NOLINTBEGIN
84 virtual void SetMediaChannel(::webrtc::MediaSendChannelInterface* media_channel) /*override*/;
85
86 virtual bool SetTrack(::webrtc::MediaStreamTrackInterface* track) /*override*/;
87
88 virtual ::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface> track() const /*override*/;
89
90 virtual ::webrtc::RtpParameters GetParameters() const /*override*/;
91
92 virtual ::webrtc::RTCError SetParameters(::webrtc::RtpParameters const& parameters) /*override*/;
93
94 virtual void SetParametersAsync(
95 ::webrtc::RtpParameters const& parameters,
96 ::absl::AnyInvocable<void(::webrtc::RTCError) &&> callback
97 ) /*override*/;
98
99 virtual ::webrtc::RtpParameters GetParametersInternal() const /*override*/;
100
101 virtual void SetParametersInternal(
102 ::webrtc::RtpParameters const& parameters,
103 ::absl::AnyInvocable<void(::webrtc::RTCError) &&> callback,
104 bool blocking
105 ) /*override*/;
106
107 virtual ::webrtc::RTCError CheckCodecParameters(::webrtc::RtpParameters const& parameters) /*override*/;
108
109 virtual ::webrtc::RtpParameters GetParametersInternalWithAllLayers() const /*override*/;
110
111 virtual ::webrtc::RTCError
112 SetParametersInternalWithAllLayers(::webrtc::RtpParameters const& parameters) /*override*/;
113
114 virtual void SetSsrc(uint ssrc) /*override*/;
115
116 virtual uint ssrc() const /*override*/;
117
118 virtual ::std::vector<::std::string> stream_ids() const /*override*/;
119
120 virtual void set_stream_ids(::std::vector<::std::string> const& stream_ids) /*override*/;
121
122 virtual void SetStreams(::std::vector<::std::string> const& stream_ids) /*override*/;
123
124 virtual ::std::string id() const /*override*/;
125
126 virtual void
127 set_init_send_encodings(::std::vector<::webrtc::RtpEncodingParameters> const& init_send_encodings) /*override*/;
128
129 virtual ::std::vector<::webrtc::RtpEncodingParameters> init_send_encodings() const /*override*/;
130
131 virtual void set_transport(::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface> dtls_transport) /*override*/;
132
133 virtual ::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface> dtls_transport() const /*override*/;
134
135 virtual void
136 SetFrameEncryptor(::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface> frame_encryptor) /*override*/;
137
138 virtual ::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface> GetFrameEncryptor() const /*override*/;
139
140 virtual void Stop() /*override*/;
141
142 virtual int AttachmentId() const /*override*/;
143
144 virtual ::webrtc::RTCError DisableEncodingLayers(::std::vector<::std::string> const& rids) /*override*/;
145
146 virtual void
147 SetFrameTransformer(::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface> frame_transformer) /*override*/;
148
149 virtual void SetEncoderSelector(
150 ::std::unique_ptr<::webrtc::VideoEncoderFactory::EncoderSelectorInterface> encoder_selector
151 ) /*override*/;
152
153 virtual void SetTransceiverAsStopped() /*override*/;
154
155 virtual void SetSendCodecs(::std::vector<::webrtc::Codec> send_codecs) /*override*/;
156
157 virtual ::std::vector<::webrtc::Codec> GetSendCodecs() const /*override*/;
158
159 virtual void NotifyFirstPacketSent() /*override*/;
160
161 virtual void SetObserver(::webrtc::RtpSenderObserverInterface* observer) /*override*/;
162
163 virtual ::std::string track_kind() const = 0;
164
165 virtual void SetSend() = 0;
166
167 virtual void ClearSend() = 0;
168
169 virtual void AttachTrack();
170
171 virtual void DetachTrack();
172
173 virtual void AddTrackToStats();
174
175 virtual void RemoveTrackFromStats();
176
177 virtual ::webrtc::RTCError GenerateKeyFrame(::std::vector<::std::string> const& rids) = 0;
178
179 virtual ~RtpSenderBase() /*override*/ = default;
180 // NOLINTEND
181
182public:
183 // member functions
184 // NOLINTBEGIN
185 MCNAPI ::webrtc::RTCError CheckSetParameters(::webrtc::RtpParameters const& parameters);
186
187 MCNAPI RtpSenderBase(
188 ::webrtc::Environment const& env,
189 ::webrtc::Thread* worker_thread,
190 ::std::string const& id,
191 ::webrtc::RtpSenderBase::SetStreamsObserver* set_streams_observer
192 );
193
195 // NOLINTEND
196
197public:
198 // constructor thunks
199 // NOLINTBEGIN
200 MCNAPI void* $ctor(
201 ::webrtc::Environment const& env,
202 ::webrtc::Thread* worker_thread,
203 ::std::string const& id,
204 ::webrtc::RtpSenderBase::SetStreamsObserver* set_streams_observer
205 );
206 // NOLINTEND
207
208public:
209 // destructor thunk
210 // NOLINTBEGIN
211 MCNAPI void $dtor();
212 // NOLINTEND
213
214public:
215 // virtual function thunks
216 // NOLINTBEGIN
217 MCNAPI void $SetMediaChannel(::webrtc::MediaSendChannelInterface* media_channel);
218
219 MCNAPI bool $SetTrack(::webrtc::MediaStreamTrackInterface* track);
220
221 MCNAPI ::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface> $track() const;
222
223 MCNAPI ::webrtc::RtpParameters $GetParameters() const;
224
225 MCNAPI ::webrtc::RTCError $SetParameters(::webrtc::RtpParameters const& parameters);
226
228 ::webrtc::RtpParameters const& parameters,
229 ::absl::AnyInvocable<void(::webrtc::RTCError) &&> callback
230 );
231
232 MCNAPI ::webrtc::RtpParameters $GetParametersInternal() const;
233
235 ::webrtc::RtpParameters const& parameters,
236 ::absl::AnyInvocable<void(::webrtc::RTCError) &&> callback,
237 bool blocking
238 );
239
240 MCNAPI ::webrtc::RTCError $CheckCodecParameters(::webrtc::RtpParameters const& parameters);
241
243
244 MCNAPI ::webrtc::RTCError $SetParametersInternalWithAllLayers(::webrtc::RtpParameters const& parameters);
245
246 MCNAPI void $SetSsrc(uint ssrc);
247
248 MCNAPI uint $ssrc() const;
249
250 MCNAPI ::std::vector<::std::string> $stream_ids() const;
251
252 MCNAPI void $set_stream_ids(::std::vector<::std::string> const& stream_ids);
253
254 MCNAPI void $SetStreams(::std::vector<::std::string> const& stream_ids);
255
256 MCNAPI ::std::string $id() const;
257
258 MCNAPI void $set_init_send_encodings(::std::vector<::webrtc::RtpEncodingParameters> const& init_send_encodings);
259
260 MCNAPI ::std::vector<::webrtc::RtpEncodingParameters> $init_send_encodings() const;
261
262 MCNAPI void $set_transport(::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface> dtls_transport);
263
264 MCNAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface> $dtls_transport() const;
265
266 MCNAPI void $SetFrameEncryptor(::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface> frame_encryptor);
267
268 MCNAPI ::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface> $GetFrameEncryptor() const;
269
270 MCNAPI void $Stop();
271
272 MCNAPI int $AttachmentId() const;
273
274 MCNAPI ::webrtc::RTCError $DisableEncodingLayers(::std::vector<::std::string> const& rids);
275
276 MCNAPI void $SetFrameTransformer(::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface> frame_transformer);
277
278 MCNAPI void
279 $SetEncoderSelector(::std::unique_ptr<::webrtc::VideoEncoderFactory::EncoderSelectorInterface> encoder_selector);
280
282
283 MCNAPI void $SetSendCodecs(::std::vector<::webrtc::Codec> send_codecs);
284
285 MCNAPI ::std::vector<::webrtc::Codec> $GetSendCodecs() const;
286
288
289 MCNAPI void $SetObserver(::webrtc::RtpSenderObserverInterface* observer);
290
291 MCNAPI void $AttachTrack();
292
293 MCNAPI void $DetachTrack();
294
295 MCNAPI void $AddTrackToStats();
296
298
299
300 // NOLINTEND
301
302public:
303 // vftables
304 // NOLINTBEGIN
305 MCNAPI static void** $vftable();
306
307 MCNAPI static void** $vftableForFrameTransformerHost();
308
309 MCNAPI static void** $vftableForRefCountInterface();
310 // NOLINTEND
311};
312
313} // namespace webrtc
Definition DtlsTransportInterface.h:18
Definition Environment.h:7
Definition FrameEncryptorInterface.h:12
Definition FrameTransformerInterface.h:17
Definition MediaSendChannelInterface.h:28
Definition MediaStreamTrackInterface.h:11
Definition ObserverInterface.h:7
Definition RTCError.h:10
Definition RtpSenderBase.h:38
MCAPI void $AttachTrack()
MCAPI::std::string $id() const
MCAPI void $SetMediaChannel(::webrtc::MediaSendChannelInterface *media_channel)
MCAPI void $SetObserver(::webrtc::RtpSenderObserverInterface *observer)
MCAPI::webrtc::RTCError CheckSetParameters(::webrtc::RtpParameters const &parameters)
MCAPI::webrtc::RtpParameters $GetParametersInternalWithAllLayers() const
MCAPI void $set_transport(::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface > dtls_transport)
MCAPI void $AddTrackToStats()
MCAPI void $RemoveTrackFromStats()
MCAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface > $dtls_transport() const
MCAPI ::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > $track() const
MCAPI::webrtc::RtpParameters $GetParametersInternal() const
MCAPI ::std::vector<::webrtc::RtpEncodingParameters > $init_send_encodings() const
MCAPI void $SetStreams(::std::vector<::std::string > const &stream_ids)
MCAPI void SetEncoderSelectorOnChannel()
MCAPI void $NotifyFirstPacketSent()
static MCAPI void ** $vftable()
MCAPI::webrtc::RTCError $CheckCodecParameters(::webrtc::RtpParameters const &parameters)
MCAPI void $SetFrameTransformer(::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface > frame_transformer)
MCAPI void $SetFrameEncryptor(::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface > frame_encryptor)
MCAPI int $AttachmentId() const
MCAPI void $SetTransceiverAsStopped()
MCAPI void $set_init_send_encodings(::std::vector<::webrtc::RtpEncodingParameters > const &init_send_encodings)
MCAPI void $DetachTrack()
MCAPI::webrtc::RTCError $SetParametersInternalWithAllLayers(::webrtc::RtpParameters const &parameters)
MCAPI uint $ssrc() const
MCAPI::webrtc::RTCError $SetParameters(::webrtc::RtpParameters const &parameters)
MCAPI ::std::vector<::webrtc::Codec > $GetSendCodecs() const
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::Thread *worker_thread, ::std::string const &id, ::webrtc::RtpSenderBase::SetStreamsObserver *set_streams_observer)
MCAPI::webrtc::RTCError $DisableEncodingLayers(::std::vector<::std::string > const &rids)
static MCAPI void ** $vftableForFrameTransformerHost()
MCAPI::webrtc::RtpParameters $GetParameters() const
MCAPI void $SetParametersAsync(::webrtc::RtpParameters const &parameters, ::absl::AnyInvocable< void(::webrtc::RTCError) && > callback)
MCAPI void $SetSsrc(uint ssrc)
MCAPI void $SetEncoderSelector(::std::unique_ptr<::webrtc::VideoEncoderFactory::EncoderSelectorInterface > encoder_selector)
MCAPI void $SetSendCodecs(::std::vector<::webrtc::Codec > send_codecs)
static MCAPI void ** $vftableForRefCountInterface()
MCAPI ::std::vector<::std::string > $stream_ids() const
MCAPI ::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface > $GetFrameEncryptor() const
MCAPI void $set_stream_ids(::std::vector<::std::string > const &stream_ids)
MCAPI bool $SetTrack(::webrtc::MediaStreamTrackInterface *track)
MCAPI void $SetParametersInternal(::webrtc::RtpParameters const &parameters, ::absl::AnyInvocable< void(::webrtc::RTCError) && > callback, bool blocking)
Definition RtpSenderInternal.h:22
Definition RtpSenderObserverInterface.h:10
Definition Thread.h:20
Definition VideoEncoderFactory.h:16
Definition scoped_refptr.h:8
STL namespace.
Definition Alias.h:14
Definition Codec.h:13
Definition RtpEncodingParameters.h:7
Definition RtpParameters.h:7