3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/AV1Profile.h"
8#include "mc/external/webrtc/AdapterType.h"
9#include "mc/external/webrtc/ArrayView.h"
10#include "mc/external/webrtc/Base64DecodeOptions.h"
11#include "mc/external/webrtc/ConnectionRole.h"
12#include "mc/external/webrtc/IceCandidateType.h"
13#include "mc/external/webrtc/IceSwitchReason.h"
14#include "mc/external/webrtc/MediaType.h"
15#include "mc/external/webrtc/PeerConnectionInterface.h"
16#include "mc/external/webrtc/ProtocolType.h"
17#include "mc/external/webrtc/RTCErrorDetailType.h"
18#include "mc/external/webrtc/RTCErrorType.h"
19#include "mc/external/webrtc/RtpPacketType.h"
20#include "mc/external/webrtc/RtpTransceiverDirection.h"
21#include "mc/external/webrtc/ScalabilityMode.h"
22#include "mc/external/webrtc/SdpMungingType.h"
23#include "mc/external/webrtc/SdpType.h"
24#include "mc/external/webrtc/VP9Profile.h"
25#include "mc/external/webrtc/VideoCodecType.h"
26#include "mc/external/webrtc/scoped_refptr.h"
63namespace webrtc {
struct Codec; }
95 DisableRelay = 1 << 2,
98 EnableSharedSocket = 1 << 8,
99 EnableStunRetransmitAttribute = 1 << 9,
100 DisableAdapterEnumeration = 1 << 10,
101 DisableDefaultLocalCandidate = 1 << 11,
102 DisableUdpRelay = 1 << 12,
103 DisableCostlyNetworks = 1 << 13,
104 EnableIpv6OnWifi = 1 << 14,
105 EnableAnyAddressPorts = 1 << 15,
106 DisableLinkLocalNetworks = 1 << 16,
107 EnableGlobalSharedSocket = 1 << 17,
115 KMaxEncoderBuffers = 8,
119 KMaxPreferredPixelFormats = 5,
123 KMaxSimulcastStreams = 3,
127 KMaxSpatialLayers = 5,
131 KMaxTemporalStreams = 4,
140MCNAPI int64 ASN1TimeToSec(uchar
const* s, uint64 length,
bool long_format);
142MCNAPI
bool AV1IsSameProfile(
143 ::std::map<::std::string, ::std::string>
const& params1,
144 ::std::map<::std::string, ::std::string>
const& params2
147MCNAPI ::std::string_view AV1ProfileToString(::webrtc::AV1Profile profile);
149MCNAPI ::std::string AdapterTypeToString(::webrtc::AdapterType type);
151MCNAPI
void AlignedFree(
void* mem_block);
153MCNAPI
void* AlignedMalloc(uint64 size, uint64 alignment);
155MCNAPI ::std::optional<::std::string> Base64Decode(::std::string_view data, ::webrtc::Base64DecodeOptions options);
157MCNAPI ::std::string Base64Encode(::std::string_view data);
159MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
160 ::webrtc::RtpParameters
const& old_rtp_parameters,
161 ::webrtc::RtpParameters
const& rtp_parameters,
162 ::webrtc::FieldTrialsView
const& field_trials
165MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
166 ::webrtc::RtpParameters
const& old_rtp_parameters,
167 ::webrtc::RtpParameters
const& rtp_parameters,
168 ::webrtc::ArrayView<::webrtc::Codec> send_codecs,
169 ::std::optional<::webrtc::Codec> send_codec,
170 ::webrtc::FieldTrialsView
const& field_trials
173MCNAPI ::webrtc::RTCError CheckRtpParametersValues(
174 ::webrtc::RtpParameters
const& rtp_parameters,
175 ::webrtc::ArrayView<::webrtc::Codec> send_codecs,
176 ::std::optional<::webrtc::Codec> send_codec,
177 ::webrtc::FieldTrialsView
const& field_trials
180MCNAPI ::webrtc::RTCError CheckScalabilityModeValues(
181 ::webrtc::RtpParameters
const& rtp_parameters,
182 ::webrtc::ArrayView<::webrtc::Codec> send_codecs,
183 ::std::optional<::webrtc::Codec> send_codec
186MCNAPI
void CheckValidDimensions(
int width,
int height,
int stride_y,
int stride_u,
int stride_v);
188MCNAPI
char const* CodecTypeToPayloadString(::webrtc::VideoCodecType type);
190MCNAPI ::webrtc::TimeDelta CompactNtpIntervalToTimeDelta(uint compact_ntp_interval);
192MCNAPI ::webrtc::TimeDelta CompactNtpRttToTimeDelta(uint compact_ntp_interval);
194MCNAPI uint64 ComputeDigest(::std::string_view alg,
void const* input, uint64 in_len,
void* output, uint64 out_len);
196MCNAPI uint ComputeDtlsPacketHash(::webrtc::ArrayView<uchar const> dtls_packet);
198MCNAPI uint64 ComputeHmac(
199 ::std::string_view alg,
208MCNAPI uint64 ComputeHmac(
209 ::webrtc::MessageDigest* digest,
218MCNAPI
bool ComputeStunCredentialHash(
219 ::std::string
const& username,
220 ::std::string
const& realm,
221 ::std::string
const& password,
225MCNAPI
bool ConnectionRoleToString(::webrtc::ConnectionRole
const& role, ::std::string* role_str);
227MCNAPI
void CopySocketInformationToPacketInfo(
228 uint64 packet_size_bytes,
229 ::webrtc::AsyncPacketSocket
const& socket_from,
230 ::webrtc::PacketInfo* info
233MCNAPI ::webrtc::Codec CreateAudioCodec(::webrtc::SdpAudioFormat
const& c);
235MCNAPI ::webrtc::Codec CreateAudioCodec(
int id, ::std::string
const& name,
int clockrate, uint64 channels);
237MCNAPI ::std::unique_ptr<::webrtc::SocketServer> CreateDefaultSocketServer();
239MCNAPI ::std::unique_ptr<::webrtc::TaskQueueFactory>
240CreateDefaultTaskQueueFactory(::webrtc::FieldTrialsView
const* field_trials);
242MCNAPI ::webrtc::IceCandidate* CreateIceCandidate(
243 ::std::string
const& sdp_mid,
245 ::std::string
const& sdp,
246 ::webrtc::SdpParseError* error
249MCNAPI uint CreateRandomId();
251MCNAPI uint64 CreateRandomId64();
253MCNAPI uint CreateRandomNonZeroId();
255MCNAPI
bool CreateRandomString(uint64 len, ::std::string* str);
257MCNAPI ::std::string CreateRandomString(uint64 len);
259MCNAPI ::std::string CreateRandomUuid();
261MCNAPI ::std::unique_ptr<::webrtc::SessionDescriptionInterface>
262CreateSessionDescription(::webrtc::SdpType type, ::std::string
const& sdp);
264MCNAPI ::std::unique_ptr<::webrtc::SessionDescriptionInterface>
265CreateSessionDescription(::webrtc::SdpType type, ::std::string
const& sdp, ::webrtc::SdpParseError* error_out);
267MCNAPI ::std::unique_ptr<::webrtc::TaskQueueFactory> CreateTaskQueueStdlibFactory();
269MCNAPI ::webrtc::Codec CreateVideoCodec(
int id, ::std::string
const& name);
271MCNAPI ulong CurrentThreadId();
273MCNAPI ulong CurrentThreadRef();
275MCNAPI ::webrtc::SdpMungingType DetermineSdpMungingType(
276 ::webrtc::SessionDescriptionInterface
const* sdesc,
277 ::webrtc::SessionDescriptionInterface
const* last_created_desc
280MCNAPI ::webrtc::SocketAddress EmptySocketAddressWithFamily(
int family);
282MCNAPI
void ExplicitZeroMemory(
void* ptr, uint64 len);
284MCNAPI ::std::vector<::webrtc::Codec const*>
285FindAllMatchingCodecs(::std::vector<::webrtc::Codec>
const& supported_codecs, ::webrtc::Codec
const& codec);
287MCNAPI ::webrtc::Codec
const* FindCodecById(::std::vector<::webrtc::Codec>
const& codecs,
int payload_type);
289MCNAPI ::std::optional<::webrtc::Codec> FindMatchingCodec(
290 ::std::vector<::webrtc::Codec>
const& codecs1,
291 ::std::vector<::webrtc::Codec>
const& codecs2,
292 ::webrtc::Codec
const& codec_to_match
295MCNAPI ::webrtc::IPAddress GetAnyIP(
int family);
297MCNAPI ::std::vector<::webrtc::RtpExtension>
298GetDefaultEnabledRtpHeaderExtensions(::webrtc::RtpHeaderExtensionQueryInterface
const& query_interface);
300MCNAPI ::webrtc::ContentInfo
const* GetFirstAudioContent(::webrtc::SessionDescription
const* sdesc);
302MCNAPI ::webrtc::AudioContentDescription
const*
303GetFirstAudioContentDescription(::webrtc::SessionDescription
const* sdesc);
305MCNAPI ::webrtc::ContentInfo
const* GetFirstDataContent(::std::vector<::webrtc::ContentInfo>
const& contents);
307MCNAPI ::webrtc::ContentInfo
const* GetFirstDataContent(::webrtc::SessionDescription
const* sdesc);
309MCNAPI ::webrtc::ContentInfo
const*
310GetFirstMediaContent(::std::vector<::webrtc::ContentInfo>
const& contents, ::webrtc::MediaType media_type);
312MCNAPI ::webrtc::SctpDataContentDescription
const*
313GetFirstSctpDataContentDescription(::webrtc::SessionDescription
const* sdesc);
315MCNAPI ::webrtc::ContentInfo
const* GetFirstVideoContent(::webrtc::SessionDescription
const* sdesc);
317MCNAPI ::webrtc::VideoContentDescription
const*
318GetFirstVideoContentDescription(::webrtc::SessionDescription
const* sdesc);
320MCNAPI
int GetProtocolOverhead(::std::string_view protocol);
322MCNAPI
bool GetRtcpType(
void const* data, uint64 len,
int* value);
324MCNAPI
bool GetSrtpKeyAndSaltLengths(
int crypto_suite,
int* key_length,
int* salt_length);
326MCNAPI ::std::vector<::std::string const*> GetStatsReferencedIds(::webrtc::RTCStats
const& stats);
328MCNAPI
int GetStunErrorResponseType(
int req_type);
330MCNAPI
int GetStunSuccessResponseType(
int req_type);
332MCNAPI
void H264GenerateProfileLevelIdForAnswer(
333 ::std::map<::std::string, ::std::string>
const& local_supported_params,
334 ::std::map<::std::string, ::std::string>
const& remote_offered_params,
335 ::std::map<::std::string, ::std::string>* answer_params
338MCNAPI
bool H264IsSameProfile(
339 ::std::map<::std::string, ::std::string>
const& params1,
340 ::std::map<::std::string, ::std::string>
const& params2
343MCNAPI ::std::optional<::std::string> H264ProfileLevelIdToString(::webrtc::H264ProfileLevelId
const& profile_level_id);
345MCNAPI
bool HasUfragSdpMunging(
346 ::webrtc::SessionDescriptionInterface
const* sdesc,
347 ::webrtc::SessionDescriptionInterface
const* last_created_desc
350MCNAPI
int IPAddressPrecedence(::webrtc::IPAddress
const& ip);
352MCNAPI
bool IPFromAddrInfo(::addrinfo* info, ::webrtc::IPAddress* out);
354MCNAPI
bool IPFromString(::std::string_view str, ::webrtc::IPAddress* out);
356MCNAPI
bool IPIsAny(::webrtc::IPAddress
const& ip);
358MCNAPI
bool IPIsLinkLocal(::webrtc::IPAddress
const& ip);
360MCNAPI
bool IPIsLoopback(::webrtc::IPAddress
const& ip);
362MCNAPI
bool IPIsMacBased(::webrtc::IPAddress
const& ip);
364MCNAPI
bool IPIsPrivate(::webrtc::IPAddress
const& ip);
366MCNAPI
bool IPIsULA(::webrtc::IPAddress
const& ip);
368MCNAPI
bool IPIsUnspec(::webrtc::IPAddress
const& ip);
370MCNAPI ::std::string_view IceCandidateTypeToString(::webrtc::IceCandidateType type);
372MCNAPI
bool IceCredentialsChanged(
373 ::std::string_view old_ufrag,
374 ::std::string_view old_pwd,
375 ::std::string_view new_ufrag,
376 ::std::string_view new_pwd
379MCNAPI ::std::string IceSwitchReasonToString(::webrtc::IceSwitchReason reason);
381MCNAPI ::webrtc::RtpPacketType InferRtpPacketType(::webrtc::ArrayView<uchar const> packet);
383MCNAPI
bool InitializeSSL();
385MCNAPI ::webrtc::RTCError
386InvokeSetParametersCallback(::absl::AnyInvocable<
void(::webrtc::RTCError) &&>& callback, ::webrtc::RTCError error);
388MCNAPI
bool IsAudioContent(::webrtc::ContentInfo
const* content);
390MCNAPI
bool IsDtlsClientHelloPacket(::webrtc::ArrayView<uchar const> payload);
392MCNAPI
bool IsDtlsPacket(::webrtc::ArrayView<uchar const> payload);
394MCNAPI
bool IsDtlsRtp(::std::string_view protocol);
396MCNAPI
bool IsDtlsSctp(::std::string_view protocol);
398MCNAPI
bool IsFips180DigestAlgorithm(::std::string_view alg);
400MCNAPI
bool IsGcmCryptoSuite(
int crypto_suite);
402MCNAPI
bool IsLegalRsidName(::std::string_view name);
404MCNAPI
bool IsNewerSequenceNumber(ushort sequence_number, ushort prev_sequence_number);
406MCNAPI
bool IsOpenMessage(::webrtc::CopyOnWriteBuffer
const& payload);
408MCNAPI
bool IsPlainRtp(::std::string_view protocol);
410MCNAPI
bool IsPlainSctp(::std::string_view protocol);
412MCNAPI
bool IsRtcpPacket(::webrtc::ArrayView<uchar const> packet);
414MCNAPI
bool IsRtpPacket(::webrtc::ArrayView<uchar const> packet);
416MCNAPI
bool IsRtpProtocol(::std::string_view protocol);
418MCNAPI
bool IsSameRtpCodec(::webrtc::Codec
const& codec, ::webrtc::RtpCodec
const& rtp_codec);
420MCNAPI
bool IsSameRtpCodecIgnoringLevel(::webrtc::Codec
const& codec, ::webrtc::RtpCodec
const& rtp_codec);
422MCNAPI
bool IsSctpProtocol(::std::string_view protocol);
424MCNAPI
bool IsSdpMungingAllowed(::webrtc::SdpMungingType sdp_munging_type, ::webrtc::FieldTrialsView
const& trials);
426MCNAPI
bool IsStunErrorResponseType(
int msg_type);
428MCNAPI
bool IsStunRequestType(
int msg_type);
430MCNAPI
bool IsStunSuccessResponseType(
int msg_type);
432MCNAPI
bool IsThreadRefEqual(ulong
const& a, ulong
const& b);
434MCNAPI
bool IsUnsupportedContent(::webrtc::ContentInfo
const* content);
436MCNAPI
bool IsValidRtpPacketSize(::webrtc::RtpPacketType packet_type, uint64 size);
438MCNAPI
bool IsValidRtpPayloadType(
int payload_type);
440MCNAPI
bool IsVideoContent(::webrtc::ContentInfo
const* content);
442MCNAPI
int Leb128Size(uint64 value);
444MCNAPI ::std::string MakeNetworkKey(::std::string_view name, ::webrtc::IPAddress
const& prefix,
int prefix_length);
446MCNAPI
bool MatchesWithCodecRules(::webrtc::Codec
const& left_codec, ::webrtc::Codec
const& right_codec);
448MCNAPI
bool MatchesWithReferenceAttributes(::webrtc::Codec
const& codec1, ::webrtc::Codec
const& codec2);
450MCNAPI ::std::string MediaTypeToString(::webrtc::MediaType type);
452MCNAPI ::webrtc::RTCError ParseAndValidateIceServersFromConfiguration(
453 ::webrtc::PeerConnectionInterface::RTCConfiguration
const& configuration,
454 ::std::set<::webrtc::SocketAddress>& stun_servers,
455 ::std::vector<::webrtc::RelayServerConfig>& turn_servers
459ParseCandidate(::std::string_view message, ::webrtc::Candidate* candidate, ::webrtc::SdpParseError* error,
bool is_raw);
461MCNAPI
bool ParseDataChannelOpenAckMessage(::webrtc::CopyOnWriteBuffer
const& payload);
463MCNAPI
bool ParseDataChannelOpenMessage(
464 ::webrtc::CopyOnWriteBuffer
const& payload,
465 ::std::string* label,
466 ::webrtc::DataChannelInit* config
469MCNAPI
void ParseFieldTrial(
470 ::std::initializer_list<::webrtc::FieldTrialParameterInterface*> fields,
471 ::std::string_view trial_string
474MCNAPI
bool ParseFmtpParameterSet(
475 ::std::string_view line_params,
476 ::std::map<::std::string, ::std::string>& codec_params,
477 ::webrtc::SdpParseError* error
480MCNAPI ::webrtc::RTCError ParseIceServersOrError(
481 ::std::vector<::webrtc::PeerConnectionInterface::IceServer>
const& servers,
482 ::std::set<::webrtc::SocketAddress>* stun_servers,
483 ::std::vector<::webrtc::RelayServerConfig>* turn_servers
486MCNAPI ushort ParseRtpSequenceNumber(::webrtc::ArrayView<uchar const> rtp_packet);
488MCNAPI uint ParseRtpSsrc(::webrtc::ArrayView<uchar const> rtp_packet);
490MCNAPI ::std::optional<::webrtc::AV1Profile>
491ParseSdpForAV1Profile(::std::map<::std::string, ::std::string>
const& params);
493MCNAPI ::std::optional<::webrtc::H264ProfileLevelId>
494ParseSdpForH264ProfileLevelId(::std::map<::std::string, ::std::string>
const& params);
496MCNAPI ::std::optional<::webrtc::VP9Profile>
497ParseSdpForVP9Profile(::std::map<::std::string, ::std::string>
const& params);
499MCNAPI ::webrtc::VideoCodecType PayloadStringToCodecType(::std::string
const& name);
501MCNAPI
char const* ProtoToString(::webrtc::ProtocolType proto);
503MCNAPI
int ResolveHostname(::std::string_view hostname,
int family, ::std::vector<::webrtc::IPAddress>& addresses);
505MCNAPI ::std::vector<uchar> RtpDescriptorAuthentication(::webrtc::RTPVideoHeader
const& rtp_video_header);
507MCNAPI
int RtpHeaderExtensionSize(
508 ::webrtc::ArrayView<::webrtc::RtpExtensionSize const> extensions,
509 ::webrtc::RtpHeaderExtensionMap
const& registered_extensions
512MCNAPI ::std::string_view RtpPacketTypeToString(::webrtc::RtpPacketType packet_type);
514MCNAPI ::webrtc::RtpTransceiverDirection RtpTransceiverDirectionFromSendRecv(
bool send,
bool recv);
516MCNAPI
bool RtpTransceiverDirectionHasRecv(::webrtc::RtpTransceiverDirection direction);
518MCNAPI
bool RtpTransceiverDirectionHasSend(::webrtc::RtpTransceiverDirection direction);
520MCNAPI ::webrtc::RtpTransceiverDirection
521RtpTransceiverDirectionIntersection(::webrtc::RtpTransceiverDirection lhs, ::webrtc::RtpTransceiverDirection rhs);
523MCNAPI ::webrtc::RtpTransceiverDirection RtpTransceiverDirectionReversed(::webrtc::RtpTransceiverDirection direction);
525MCNAPI
char const* RtpTransceiverDirectionToString(::webrtc::RtpTransceiverDirection direction);
527MCNAPI ::webrtc::RtpTransceiverDirection
528RtpTransceiverDirectionWithRecvSet(::webrtc::RtpTransceiverDirection direction,
bool recv);
530MCNAPI ::absl::AnyInvocable<void()>
531SafeInvocable(::webrtc::scoped_refptr<::webrtc::PendingTaskSafetyFlag> flag, ::absl::AnyInvocable<
void()> task);
533MCNAPI ::absl::AnyInvocable<void() &&>
534SafeTask(::webrtc::scoped_refptr<::webrtc::PendingTaskSafetyFlag> flag, ::absl::AnyInvocable<
void() &&> task);
536MCNAPI ::std::string_view ScalabilityModeToString(::webrtc::ScalabilityMode scalability_mode);
539SdpDeserialize(::std::string_view message, ::webrtc::JsepSessionDescription* jdesc, ::webrtc::SdpParseError* error);
541MCNAPI ::std::string SdpSerialize(::webrtc::JsepSessionDescription
const& jdesc);
543MCNAPI ::std::string SdpSerializeCandidate(::webrtc::Candidate
const& candidate);
545MCNAPI ::std::string SdpSerializeCandidate(::webrtc::IceCandidate
const& candidate);
547MCNAPI ::std::optional<::webrtc::SdpType> SdpTypeFromString(::std::string
const& type_str);
549MCNAPI
char const* SdpTypeToString(::webrtc::SdpType type);
551MCNAPI
void SetCurrentThreadName(
char const* name);
553MCNAPI
bool SocketAddressFromSockAddrStorage(::sockaddr_storage
const& addr, ::webrtc::SocketAddress* out);
555MCNAPI ::std::string SrtpCryptoSuiteToName(
int crypto_suite);
557MCNAPI ::std::string StringFormat(
char const* fmt, ...);
559MCNAPI ::std::optional<::webrtc::ConnectionRole> StringToConnectionRole(::std::string_view role_str);
561MCNAPI ::std::optional<::webrtc::ProtocolType> StringToProto(::std::string_view proto_name);
563MCNAPI ::std::string StunMethodToString(
int msg_type);
565MCNAPI int64 SystemTimeMillis();
567MCNAPI int64 SystemTimeNanos();
569MCNAPI ::webrtc::scoped_refptr<::webrtc::RTCStatsReport>
570TakeReferencedStats(::webrtc::scoped_refptr<::webrtc::RTCStatsReport> report, ::std::vector<::std::string>
const& ids);
572MCNAPI int64 TimeAfter(int64 elapsed);
574MCNAPI int64 TimeDiff(int64 later, int64 earlier);
576MCNAPI int64 TimeMicros();
578MCNAPI int64 TimeMillis();
580MCNAPI int64 TimeUTCMicros();
582MCNAPI int64 TimeUTCMillis();
584MCNAPI int64 TmToSeconds(::tm
const& tm);
586MCNAPI ::std::string ToHex(
int i);
588MCNAPI ::std::optional<::webrtc::RtcpFeedback> ToRtcpFeedback(::webrtc::FeedbackParam
const& cricket_feedback);
590MCNAPI ::webrtc::RtpCapabilities ToRtpCapabilities(
591 ::std::vector<::webrtc::Codec>
const& cricket_codecs,
592 ::std::vector<::webrtc::RtpExtension>
const& cricket_extensions
595MCNAPI ::webrtc::RtpCodecCapability ToRtpCodecCapability(::webrtc::Codec
const& cricket_codec);
597MCNAPI ::std::string ToString(::webrtc::DataRate value);
599MCNAPI ::std::string ToString(::webrtc::DataSize value);
601MCNAPI ::std::string ToString(::webrtc::TimeDelta value);
603MCNAPI ::std::string ToString(::webrtc::Timestamp value);
605MCNAPI ::std::string_view ToString(::webrtc::RTCErrorDetailType error);
607MCNAPI ::std::string_view ToString(::webrtc::RTCErrorType error);
609MCNAPI ::std::string TransformAlpnProtocols(::std::vector<::std::string>
const& alpn_protocols);
611MCNAPI ::webrtc::IPAddress TruncateIP(::webrtc::IPAddress
const& ip,
int length);
613MCNAPI
bool UnimplementedRtpParameterHasValue(::webrtc::RtpParameters
const& parameters);
615MCNAPI uint UpdateCrc32(uint start,
void const* buf, uint64 len);
617MCNAPI
void UpdateRtpHeaderExtensionPreferencesFromSdpMunging(
618 ::webrtc::SessionDescription
const* description,
619 ::webrtc::TransceiverList* transceivers
622MCNAPI
bool VP9IsSameProfile(
623 ::std::map<::std::string, ::std::string>
const& params1,
624 ::std::map<::std::string, ::std::string>
const& params2
627MCNAPI ::std::string VP9ProfileToString(::webrtc::VP9Profile profile);
629MCNAPI ::webrtc::RTCError VerifyCandidate(::webrtc::Candidate
const& cand);
631MCNAPI int64 WinUwpSystemTimeNanos();
633MCNAPI
void WriteDataChannelOpenAckMessage(::webrtc::CopyOnWriteBuffer* payload);
635MCNAPI
bool WriteDataChannelOpenMessage(
636 ::std::string
const& label,
637 ::std::string
const& protocol,
638 ::std::optional<::webrtc::PriorityValue> opt_priority,
640 ::std::optional<int> max_retransmits,
641 ::std::optional<int> max_retransmit_time,
642 ::webrtc::CopyOnWriteBuffer* payload
646WriteFmtpParameters(::std::map<::std::string, ::std::string>
const& parameters, ::webrtc::StringBuilder* os);
648MCNAPI
int WriteLeb128(uint64 value, uchar* buffer);
650MCNAPI uint64 hex_decode_with_delimiter(::webrtc::ArrayView<char> cbuffer, ::std::string_view source,
char delimiter);
652MCNAPI ::std::string hex_encode(::std::string_view str);
654MCNAPI ::std::string hex_encode_with_delimiter(::std::string_view source,
char delimiter);
656MCNAPI
char const* inet_ntop(
int af,
void const* src,
char* dst,
int size);
658MCNAPI
int inet_pton(
int af, ::std::string_view src,
void* dst);
660MCNAPI
bool operator==(::webrtc::FrameDependencyStructure
const& lhs, ::webrtc::FrameDependencyStructure
const& rhs);
662MCNAPI ::std::vector<::std::string_view> split(::std::string_view source,
char delimiter);
664MCNAPI uint64 tokenize(::std::string_view source,
char delimiter, ::std::vector<::std::string>* fields);
666MCNAPI
bool tokenize_first(::std::string_view source,
char delimiter, ::std::string* token, ::std::string* rest);
668MCNAPI
char const* win32_inet_ntop(
int af,
void const* src,
char* dst,
int size);
670MCNAPI
int win32_inet_pton(
int af,
char const* src,
void* dst);
675MCNAPI
int const& BACKUP_CONNECTION_PING_INTERVAL();
677MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_AUDIO();
679MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_DATA();
681MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_OTHER();
683MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_VIDEO();
685MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTIVE_STR();
687MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTPASS_STR();
689MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_HOLDCONN_STR();
691MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_PASSIVE_STR();
693MCNAPI
int const& CONNECTION_RESPONSE_TIMEOUT();
695MCNAPI uint
const& CONNECTION_WRITE_CONNECT_FAILURES();
697MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_MD5();
699MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_1();
701MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_224();
703MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_256();
705MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_384();
707MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_512();
709MCNAPI
int const& DISCARD_PORT();
711MCNAPI ::std::add_lvalue_reference_t<char const[]> GROUP_TYPE_BUNDLE();
713MCNAPI
int const& ICE_CANDIDATE_COMPONENT_DEFAULT();
715MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTCP();
717MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTP();
719MCNAPI
int const& ICE_PWD_LENGTH();
721MCNAPI uint64
const& ICE_PWD_MAX_LENGTH();
723MCNAPI uint64
const& ICE_PWD_MIN_LENGTH();
725MCNAPI
int const& ICE_UFRAG_LENGTH();
727MCNAPI uint64
const& ICE_UFRAG_MAX_LENGTH();
729MCNAPI uint64
const& ICE_UFRAG_MIN_LENGTH();
731MCNAPI ::std::add_lvalue_reference_t<char const[]> LOCAL_TLD();
733MCNAPI
int const& MIN_CHECK_RECEIVING_INTERVAL();
735MCNAPI
int const& RECEIVING_SWITCHING_DELAY();
737MCNAPI
int const& RECEIVING_TIMEOUT();
739MCNAPI
int const& REGATHER_ON_FAILED_NETWORKS_INTERVAL();
741MCNAPI
int const& SERVER_NOT_REACHABLE_ERROR();
743MCNAPI ::std::add_lvalue_reference_t<char const[]> SSLTCP_PROTOCOL_NAME();
745MCNAPI
int const& STUN_ATTR_TURN_LOGGING_ID();
747MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ALLOCATION_MISMATCH();
749MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_BAD_REQUEST();
751MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_FORBIDDEN();
753MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ROLE_CONFLICT();
755MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_SERVER_ERROR();
757MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_STALE_NONCE();
759MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_TRY_ALTERNATE_SERVER();
761MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNAUTHORIZED();
763MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNKNOWN_ATTRIBUTE();
765MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNSUPPORTED_PROTOCOL();
767MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_WRONG_CREDENTIALS();
769MCNAPI
int const& STUN_KEEPALIVE_INTERVAL();
771MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_ACTIVE_STR();
773MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_PASSIVE_STR();
775MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_SIMOPEN_STR();
777MCNAPI ::std::add_lvalue_reference_t<char const[]> TCP_PROTOCOL_NAME();
779MCNAPI ::std::add_lvalue_reference_t<char const[]> TLS_PROTOCOL_NAME();
781MCNAPI ::std::add_lvalue_reference_t<char const[]> UDP_PROTOCOL_NAME();
783MCNAPI ::webrtc::ClockInterface*& g_clock();
785MCNAPI ::std::add_lvalue_reference_t<char const[]> kApplicationSpecificBandwidth();
787MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1CodecName();
789MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpLevelIdx();
791MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpProfile();
793MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpTier();
795MCNAPI ::std::add_lvalue_reference_t<char const[]> kBweTypeHistogram();
797MCNAPI ::std::add_lvalue_reference_t<char const[]> kCnCodecName();
799MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedCodecName();
801MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedPayloadType();
803MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamCbr();
805MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxAverageBitrate();
807MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxBitrate();
809MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPTime();
811MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPlaybackRate();
813MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxQuantization();
815MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinBitrate();
817MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinPTime();
819MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamNotInNameValueFormat();
821MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPTime();
823MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPerLayerPictureLossIndication();
825MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamRtxTime();
827MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamSPropStereo();
829MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStartBitrate();
831MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStereo();
833MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseDtx();
835MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseInbandFec();
837MCNAPI ::std::add_lvalue_reference_t<char const[]> kComfortNoiseCodecName();
839MCNAPI uint64
const& kConferenceDefaultNumTemporalLayers();
841MCNAPI uint64
const& kConferenceMaxNumSpatialLayers();
843MCNAPI uint64
const& kConferenceMaxNumTemporalLayers();
845MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAeadAes128Gcm();
847MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAeadAes256Gcm();
849MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAesCm128HmacSha1_32();
851MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAesCm128HmacSha1_80();
853MCNAPI
double const& kDefaultBitratePriority();
855MCNAPI
int const& kDefaultVideoMaxFramerate();
857MCNAPI
int const& kDefaultVideoMaxQpAv1();
859MCNAPI
int const& kDefaultVideoMaxQpH26x();
861MCNAPI
int const& kDefaultVideoMaxQpVpx();
863MCNAPI ::std::add_lvalue_reference_t<char const[]> kDtmfCodecName();
865MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecFrSsrcGroupSemantics();
867MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecSsrcGroupSemantics();
869MCNAPI ::std::add_lvalue_reference_t<char const[]> kFidSsrcGroupSemantics();
871MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecCodecName();
873MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecFmtpRepairWindow();
875MCNAPI ::std::add_lvalue_reference_t<char const[]> kG722CodecName();
877MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264CodecName();
879MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpLevelAsymmetryAllowed();
881MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpPacketizationMode();
883MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpProfileLevelId();
885MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpropParameterSets();
887MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpsPpsIdrInKeyframe();
889MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedBaseline();
891MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedHigh();
893MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265CodecName();
895MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpInteropConstraints();
897MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpLevelId();
899MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileCompatibilityIndicator();
901MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileId();
903MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileSpace();
905MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTierFlag();
907MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTxMode();
909MCNAPI
float const& kHighSystemCpuThreshold();
911MCNAPI ::std::add_lvalue_reference_t<char const[]> kL16CodecName();
913MCNAPI
float const& kLowSystemCpuThreshold();
915MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolAvpf();
917MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSavpf();
919MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSctp();
921MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSavpf();
923MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSctp();
925MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolTcpDtlsSctp();
927MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolUdpDtlsSctp();
929MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeAudio();
931MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeData();
933MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeVideo();
935MCNAPI ::std::add_lvalue_reference_t<char const[]> kOpusCodecName();
937MCNAPI
int const& kOpusDefaultMaxPTime();
939MCNAPI
int const& kOpusDefaultMaxPlaybackRate();
941MCNAPI
int const& kOpusDefaultMinPTime();
943MCNAPI
int const& kOpusDefaultPTime();
945MCNAPI
int const& kOpusDefaultSPropStereo();
947MCNAPI
int const& kOpusDefaultStereo();
949MCNAPI
int const& kOpusDefaultUseDtx();
951MCNAPI
int const& kOpusDefaultUseInbandFec();
953MCNAPI ::std::add_lvalue_reference_t<char const[]> kPacketizationParamRaw();
955MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueEmpty();
957MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueTrue();
959MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmaCodecName();
961MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmuCodecName();
963MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeCertificate();
965MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeEcPrivateKey();
967MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeRsaPrivateKey();
969MCNAPI
int const& kPreferredMaxPTime();
971MCNAPI
int const& kPreferredMinPTime();
973MCNAPI
int const& kPreferredSPropStereo();
975MCNAPI
int const& kPreferredStereo();
977MCNAPI
int const& kPreferredUseInbandFec();
979MCNAPI
float const& kProcessCpuThreshold();
981MCNAPI ::std::add_lvalue_reference_t<char const[]> kPublicIPv4Host();
983MCNAPI ::std::add_lvalue_reference_t<char const[]> kPublicIPv6Host();
985MCNAPI ::std::add_lvalue_reference_t<char const[]> kRedCodecName();
987MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbCcmParamFir();
989MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbNackParamPli();
991MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamCcm();
993MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamLntf();
995MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamNack();
997MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRemb();
999MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRrtr();
1001MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamTransportCc();
1003MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtxCodecName();
1005MCNAPI ::std::add_lvalue_reference_t<char const[]> kSimSsrcGroupSemantics();
1007MCNAPI ::std::add_lvalue_reference_t<char const[]> kTransportSpecificBandwidth();
1009MCNAPI ::std::add_lvalue_reference_t<char const[]> kUlpfecCodecName();
1011MCNAPI ::std::add_lvalue_reference_t<char const[]> kVP9FmtpProfileId();
1013MCNAPI ::std::add_lvalue_reference_t<char const[]> kVP9ProfileId();
1015MCNAPI
int const& kVideoCodecClockrate();
1017MCNAPI
int const& kVideoMtu();
1019MCNAPI
int const& kVideoRtpRecvBufferSize();
1021MCNAPI
int const& kVideoRtpSendBufferSize();
1023MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp8CodecName();
1025MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp9CodecName();
Definition AsyncPacketSocket.h:20
Definition AudioContentDescription.h:11
Definition Candidate.h:15
Definition ClockInterface.h:7
Definition ContentInfo.h:12
Definition CopyOnWriteBuffer.h:11
Definition FeedbackParam.h:7
Definition FieldTrialParameterInterface.h:7
Definition FieldTrialsView.h:7
Definition IceCandidate.h:12
Definition JsepSessionDescription.h:18
Definition MessageDigest.h:7
Definition PendingTaskSafetyFlag.h:16
Definition PriorityValue.h:16
Definition RTCStatsReport.h:17
Definition SctpDataContentDescription.h:11
Definition SessionDescriptionInterface.h:17
Definition SessionDescription.h:18
Definition SocketAddress.h:15
Definition SocketServer.h:16
Definition StringBuilder.h:7
Definition TaskQueueFactory.h:13
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition TransceiverList.h:18
Definition VideoContentDescription.h:11
Definition DataChannelInit.h:7
Definition FrameDependencyStructure.h:7
Definition H264ProfileLevelId.h:7
Definition PacketInfo.h:7
Definition RelayServerConfig.h:15
Definition RtcpFeedback.h:11
Definition RtpCapabilities.h:7
Definition RtpCodecCapability.h:10
Definition RtpExtensionSize.h:7
Definition RtpExtension.h:7
Definition RtpParameters.h:7
Definition SdpParseError.h:7