LeviLamina
Loading...
Searching...
No Matches
RtpTransmissionManager.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/MediaType.h"
8#include "mc/external/webrtc/RTCErrorOr.h"
9#include "mc/external/webrtc/RtpReceiverProxyWithInternal.h"
10#include "mc/external/webrtc/RtpSenderBase.h"
11#include "mc/external/webrtc/RtpSenderProxyWithInternal.h"
12#include "mc/external/webrtc/RtpTransceiverProxyWithInternal.h"
13#include "mc/external/webrtc/scoped_refptr.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace webrtc { class AudioTrackInterface; }
18namespace webrtc { class CodecLookupHelper; }
19namespace webrtc { class ConnectionContext; }
20namespace webrtc { class Environment; }
21namespace webrtc { class LegacyStatsCollectorInterface; }
22namespace webrtc { class MediaStreamInterface; }
23namespace webrtc { class MediaStreamTrackInterface; }
24namespace webrtc { class PeerConnectionObserver; }
25namespace webrtc { class RtpReceiverInterface; }
26namespace webrtc { class RtpReceiverInternal; }
27namespace webrtc { class RtpSenderInterface; }
28namespace webrtc { class RtpSenderInternal; }
29namespace webrtc { class RtpTransceiver; }
30namespace webrtc { class UsagePattern; }
31namespace webrtc { class VideoMediaSendChannelInterface; }
32namespace webrtc { class VideoTrackInterface; }
33namespace webrtc { class VoiceMediaSendChannelInterface; }
34namespace webrtc { struct RtpEncodingParameters; }
35namespace webrtc { struct RtpSenderInfo; }
36// clang-format on
37
38namespace webrtc {
39
40class RtpTransmissionManager : public ::webrtc::RtpSenderBase::SetStreamsObserver {
41public:
42 // member variables
43 // NOLINTBEGIN
59 // NOLINTEND
60
61public:
62 // prevent constructor by default
63 RtpTransmissionManager& operator=(RtpTransmissionManager const&);
64 RtpTransmissionManager(RtpTransmissionManager const&);
65 RtpTransmissionManager();
66
67public:
68 // virtual functions
69 // NOLINTBEGIN
70 virtual void OnSetStreams() /*override*/;
71
72 virtual ~RtpTransmissionManager() /*override*/ = default;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
79
80 MCNAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>> AddTrack(
82 ::std::vector<::std::string> const& stream_ids,
83 ::std::vector<::webrtc::RtpEncodingParameters> const* init_send_encodings
84 );
85
86 MCNAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>> AddTrackPlanB(
88 ::std::vector<::std::string> const& stream_ids,
89 ::std::vector<::webrtc::RtpEncodingParameters> const* init_send_encodings
90 );
91
92 MCNAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>> AddTrackUnifiedPlan(
94 ::std::vector<::std::string> const& stream_ids,
95 ::std::vector<::webrtc::RtpEncodingParameters> const* init_send_encodings
96 );
97
99
100 MCNAPI void Close();
101
102 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver>>
106 );
107
108 MCNAPI void
110
111 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal>>
112 CreateReceiver(::webrtc::MediaType media_type, ::std::string const& receiver_id);
113
114 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal>> CreateSender(
115 ::webrtc::MediaType media_type,
116 ::std::string const& id,
118 ::std::vector<::std::string> const& stream_ids,
119 ::std::vector<::webrtc::RtpEncodingParameters> const& send_encodings
120 );
121
122 MCNAPI void
124
125 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver>>
128 ::std::vector<::webrtc::RtpEncodingParameters> const* init_send_encodings
129 );
130
131 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal>>
132 FindReceiverById(::std::string const& receiver_id) const;
133
134 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal>>
135 FindSenderById(::std::string const& sender_id) const;
136
137 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal>>
139
140 MCNAPI ::webrtc::RtpSenderInfo const* FindSenderInfo(
141 ::std::vector<::webrtc::RtpSenderInfo> const& infos,
142 ::std::string const& stream_id,
143 ::std::string const& sender_id
144 ) const;
145
146 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver>>
148
149 MCNAPI ::std::vector<::webrtc::RtpSenderInfo>* GetLocalSenderInfos(::webrtc::MediaType media_type);
150
151 MCNAPI ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal>>>
153
154 MCNAPI ::std::vector<::webrtc::RtpSenderInfo>* GetRemoteSenderInfos(::webrtc::MediaType media_type);
155
156 MCNAPI ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal>>>
158
159 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver>>
161
162 MCNAPI void OnLocalSenderAdded(::webrtc::RtpSenderInfo const& sender_info, ::webrtc::MediaType media_type);
163
164 MCNAPI void OnLocalSenderRemoved(::webrtc::RtpSenderInfo const& sender_info, ::webrtc::MediaType media_type);
165
167 ::webrtc::RtpSenderInfo const& sender_info,
169 ::webrtc::MediaType media_type
170 );
171
173 ::webrtc::RtpSenderInfo const& sender_info,
175 ::webrtc::MediaType media_type
176 );
177
178 MCNAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverInterface>
180
182
184
186 ::webrtc::Environment const& env,
187 bool is_unified_plan,
189 ::webrtc::CodecLookupHelper* codec_lookup_helper,
190 ::webrtc::UsagePattern* usage_pattern,
193 ::std::function<void()> on_negotiation_needed
194 );
195
197
198 MCNAPI ::webrtc::VideoMediaSendChannelInterface* video_media_send_channel() const;
199
200 MCNAPI ::webrtc::VoiceMediaSendChannelInterface* voice_media_send_channel() const;
201 // NOLINTEND
202
203public:
204 // constructor thunks
205 // NOLINTBEGIN
206 MCNAPI void* $ctor(
207 ::webrtc::Environment const& env,
208 bool is_unified_plan,
210 ::webrtc::CodecLookupHelper* codec_lookup_helper,
211 ::webrtc::UsagePattern* usage_pattern,
214 ::std::function<void()> on_negotiation_needed
215 );
216 // NOLINTEND
217
218public:
219 // virtual function thunks
220 // NOLINTBEGIN
221 MCNAPI void $OnSetStreams();
222
223
224 // NOLINTEND
225
226public:
227 // vftables
228 // NOLINTBEGIN
229 MCNAPI static void** $vftable();
230 // NOLINTEND
231};
232
233} // namespace webrtc
Definition AnyInvocable.h:8
Definition AudioTrackInterface.h:18
Definition CodecLookupHelper.h:13
Definition ConnectionContext.h:17
Definition Environment.h:7
Definition LegacyStatsCollectorInterface.h:14
Definition MediaStreamInterface.h:18
Definition MediaStreamTrackInterface.h:11
Definition PeerConnectionObserver.h:22
Definition RtpReceiverInterface.h:25
Definition RtpReceiverInternal.h:18
Definition RtpReceiverProxyWithInternal.h:8
Definition RtpSenderBase.h:38
Definition RtpSenderInterface.h:28
Definition RtpSenderInternal.h:22
Definition RtpSenderProxyWithInternal.h:8
Definition RtpTransceiver.h:40
MCAPI::webrtc::VoiceMediaSendChannelInterface * voice_media_send_channel() const
MCAPI ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal > > > GetSendersInternal() const
MCAPI void RemoveAudioTrack(::webrtc::AudioTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface > > AddTrackPlanB(::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > track, ::std::vector<::std::string > const &stream_ids, ::std::vector<::webrtc::RtpEncodingParameters > const *init_send_encodings)
MCAPI void AddAudioTrack(::webrtc::AudioTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal > > CreateReceiver(::webrtc::MediaType media_type, ::std::string const &receiver_id)
MCAPI void OnRemoteSenderAdded(::webrtc::RtpSenderInfo const &sender_info, ::webrtc::MediaStreamInterface *stream, ::webrtc::MediaType media_type)
MCAPI::webrtc::VideoMediaSendChannelInterface * video_media_send_channel() const
MCAPI RtpTransmissionManager(::webrtc::Environment const &env, bool is_unified_plan, ::webrtc::ConnectionContext *context, ::webrtc::CodecLookupHelper *codec_lookup_helper, ::webrtc::UsagePattern *usage_pattern, ::webrtc::PeerConnectionObserver *observer, ::webrtc::LegacyStatsCollectorInterface *legacy_stats, ::std::function< void()> on_negotiation_needed)
MCAPI ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal > > > GetReceiversInternal() const
MCAPI void AddVideoTrack(::webrtc::VideoTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI void * $ctor(::webrtc::Environment const &env, bool is_unified_plan, ::webrtc::ConnectionContext *context, ::webrtc::CodecLookupHelper *codec_lookup_helper, ::webrtc::UsagePattern *usage_pattern, ::webrtc::PeerConnectionObserver *observer, ::webrtc::LegacyStatsCollectorInterface *legacy_stats, ::std::function< void()> on_negotiation_needed)
MCAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface > > AddTrack(::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > track, ::std::vector<::std::string > const &stream_ids, ::std::vector<::webrtc::RtpEncodingParameters > const *init_send_encodings)
MCAPI ::std::vector<::webrtc::RtpSenderInfo > * GetRemoteSenderInfos(::webrtc::MediaType media_type)
MCAPI void RemoveVideoTrack(::webrtc::VideoTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI void CreateAudioReceiver(::webrtc::MediaStreamInterface *stream, ::webrtc::RtpSenderInfo const &remote_sender_info)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal > > CreateSender(::webrtc::MediaType media_type, ::std::string const &id, ::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > track, ::std::vector<::std::string > const &stream_ids, ::std::vector<::webrtc::RtpEncodingParameters > const &send_encodings)
MCAPI::webrtc::RtpSenderInfo const * FindSenderInfo(::std::vector<::webrtc::RtpSenderInfo > const &infos, ::std::string const &stream_id, ::std::string const &sender_id) const
MCAPI void OnLocalSenderAdded(::webrtc::RtpSenderInfo const &sender_info, ::webrtc::MediaType media_type)
MCAPI void OnRemoteSenderRemoved(::webrtc::RtpSenderInfo const &sender_info, ::webrtc::MediaStreamInterface *stream, ::webrtc::MediaType media_type)
MCAPI void CreateVideoReceiver(::webrtc::MediaStreamInterface *stream, ::webrtc::RtpSenderInfo const &remote_sender_info)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal > > FindReceiverById(::std::string const &receiver_id) const
MCAPI void RunWithObserver(::absl::AnyInvocable< void(::webrtc::PeerConnectionObserver *) && > task)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpReceiverInterface > RemoveAndStopReceiver(::webrtc::RtpSenderInfo const &remote_sender_info)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal > > FindSenderById(::std::string const &sender_id) const
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > CreateAndAddTransceiver(::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal > > sender, ::webrtc::scoped_refptr<::webrtc::RtpReceiverProxyWithInternal<::webrtc::RtpReceiverInternal > > receiver)
MCAPI void OnLocalSenderRemoved(::webrtc::RtpSenderInfo const &sender_info, ::webrtc::MediaType media_type)
MCAPI ::std::vector<::webrtc::RtpSenderInfo > * GetLocalSenderInfos(::webrtc::MediaType media_type)
static MCAPI void ** $vftable()
MCAPI ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface > > AddTrackUnifiedPlan(::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > track, ::std::vector<::std::string > const &stream_ids, ::std::vector<::webrtc::RtpEncodingParameters > const *init_send_encodings)
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > GetAudioTransceiver() const
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > GetVideoTransceiver() const
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpSenderProxyWithInternal<::webrtc::RtpSenderInternal > > FindSenderForTrack(::webrtc::MediaStreamTrackInterface *track) const
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > FindFirstTransceiverForAddedTrack(::webrtc::scoped_refptr<::webrtc::MediaStreamTrackInterface > track, ::std::vector<::webrtc::RtpEncodingParameters > const *init_send_encodings)
Definition UsagePattern.h:15
Definition VideoMediaSendChannelInterface.h:21
Definition VideoTrackInterface.h:20
Definition VoiceMediaSendChannelInterface.h:18
Definition scoped_refptr.h:8
Definition context.h:5
Definition Alias.h:14
Definition RtpEncodingParameters.h:7
Definition RtpSenderInfo.h:7