55 enum class BundlePolicy :
int {
56 KBundlePolicyBalanced = 0,
57 KBundlePolicyMaxBundle = 1,
58 KBundlePolicyMaxCompat = 2,
61 enum class CandidateNetworkPolicy :
int {
62 KCandidateNetworkPolicyAll = 0,
63 KCandidateNetworkPolicyLowCost = 1,
66 enum class ContinualGatheringPolicy :
int {
71 enum class IceConnectionState :
int {
72 KIceConnectionNew = 0,
73 KIceConnectionChecking = 1,
74 KIceConnectionConnected = 2,
75 KIceConnectionCompleted = 3,
76 KIceConnectionFailed = 4,
77 KIceConnectionDisconnected = 5,
78 KIceConnectionClosed = 6,
79 KIceConnectionMax = 7,
82 enum class IceGatheringState :
int {
84 KIceGatheringGathering = 1,
85 KIceGatheringComplete = 2,
88 enum class IceTransportsType :
int {
95 enum class PeerConnectionState :
int {
104 enum class RTCConfigurationType :
int {
109 enum class RtcpMuxPolicy :
int {
110 KRtcpMuxPolicyNegotiate = 0,
111 KRtcpMuxPolicyRequire = 1,
114 enum class SignalingState :
int {
117 KHaveLocalPrAnswer = 2,
118 KHaveRemoteOffer = 3,
119 KHaveRemotePrAnswer = 4,
123 enum class StatsOutputLevel :
int {
124 KStatsOutputLevelStandard = 0,
125 KStatsOutputLevelDebug = 1,
128 enum class TcpCandidatePolicy :
int {
129 KTcpCandidatePolicyEnabled = 0,
130 KTcpCandidatePolicyDisabled = 1,
133 enum class TlsCertPolicy :
int {
134 KTlsCertPolicySecure = 0,
135 KTlsCertPolicyInsecureNoCheck = 1,
159 MCNAPI ::webrtc::PeerConnectionInterface::IceServer&
182 struct PortAllocatorConfig {
193 PortAllocatorConfig& operator=(PortAllocatorConfig
const&);
194 PortAllocatorConfig(PortAllocatorConfig
const&);
195 PortAllocatorConfig();
259 MCNAPI ::webrtc::PeerConnectionInterface::RTCConfiguration&
282 struct RTCOfferAnswerOptions {
298 RTCOfferAnswerOptions& operator=(RTCOfferAnswerOptions
const&);
317 virtual ::webrtc::scoped_refptr<::webrtc::StreamCollectionInterface> local_streams() = 0;
319 virtual ::webrtc::scoped_refptr<::webrtc::StreamCollectionInterface> remote_streams() = 0;
325 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>>
328 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>> AddTrack(
330 ::std::vector<::std::string>
const&,
331 ::std::vector<::webrtc::RtpEncodingParameters>
const&
336 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>>
339 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>> AddTransceiver(
344 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>>
345 AddTransceiver(::cricket::MediaType) = 0;
347 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>>
350 virtual ::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>
351 CreateSender(::std::string
const&, ::std::string
const&) = 0;
353 virtual ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpSenderInterface>> GetSenders()
const = 0;
355 virtual ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpReceiverInterface>> GetReceivers()
const = 0;
357 virtual ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>> GetTransceivers()
const = 0;
359 virtual bool GetStats(
362 ::webrtc::PeerConnectionInterface::StatsOutputLevel
367 virtual void GetStats(
372 virtual void GetStats(
377 virtual void ClearStatsCache();
379 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::DataChannelInterface>>
382 virtual ::webrtc::scoped_refptr<::webrtc::DataChannelInterface>
385 virtual ::webrtc::SessionDescriptionInterface
const* local_description()
const = 0;
387 virtual ::webrtc::SessionDescriptionInterface
const* remote_description()
const = 0;
389 virtual ::webrtc::SessionDescriptionInterface
const* current_local_description()
const = 0;
391 virtual ::webrtc::SessionDescriptionInterface
const* current_remote_description()
const = 0;
393 virtual ::webrtc::SessionDescriptionInterface
const* pending_local_description()
const = 0;
395 virtual ::webrtc::SessionDescriptionInterface
const* pending_remote_description()
const = 0;
397 virtual void RestartIce() = 0;
399 virtual void CreateOffer(
404 virtual void CreateAnswer(
409 virtual void SetLocalDescription(
410 ::std::unique_ptr<::webrtc::SessionDescriptionInterface>,
421 virtual void SetRemoteDescription(
422 ::std::unique_ptr<::webrtc::SessionDescriptionInterface>,
428 virtual bool ShouldFireNegotiationNeededEvent(uint) = 0;
430 virtual ::webrtc::PeerConnectionInterface::RTCConfiguration GetConfiguration() = 0;
437 AddIceCandidate(::std::unique_ptr<::webrtc::IceCandidateInterface>, ::std::function<
void(
::webrtc::RTCError)>);
439 virtual bool RemoveIceCandidates(::std::vector<::cricket::Candidate>
const&) = 0;
445 virtual void SetAudioPlayout(
bool) = 0;
447 virtual void SetAudioRecording(
bool) = 0;
449 virtual ::webrtc::scoped_refptr<::webrtc::DtlsTransportInterface>
450 LookupDtlsTransportByMid(::std::string
const&) = 0;
452 virtual ::webrtc::scoped_refptr<::webrtc::SctpTransportInterface> GetSctpTransport()
const = 0;
454 virtual ::webrtc::PeerConnectionInterface::SignalingState signaling_state() = 0;
456 virtual ::webrtc::PeerConnectionInterface::IceConnectionState ice_connection_state() = 0;
458 virtual ::webrtc::PeerConnectionInterface::IceConnectionState standardized_ice_connection_state() = 0;
460 virtual ::webrtc::PeerConnectionInterface::PeerConnectionState peer_connection_state() = 0;
462 virtual ::webrtc::PeerConnectionInterface::IceGatheringState ice_gathering_state() = 0;
464 virtual ::std::optional<bool> can_trickle_ice_candidates() = 0;
468 virtual bool StartRtcEventLog(::std::unique_ptr<::webrtc::RtcEventLogOutput>, int64) = 0;
470 virtual bool StartRtcEventLog(::std::unique_ptr<::webrtc::RtcEventLogOutput>) = 0;
472 virtual void StopRtcEventLog() = 0;
474 virtual void Close() = 0;
476 virtual ::rtc::Thread* signaling_thread()
const = 0;
484 MCNAPI static ::std::string_view
AsString(::webrtc::PeerConnectionInterface::SignalingState state);
490 MCNAPI ::webrtc::scoped_refptr<::webrtc::DataChannelInterface>