3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/cricket/ConnectionRole.h"
7#include "mc/external/cricket/IceSwitchReason.h"
8#include "mc/external/cricket/MediaType.h"
9#include "mc/external/cricket/ProtocolType.h"
10#include "mc/external/cricket/RtpPacketType.h"
22namespace cricket {
struct Codec; }
42 DisableRelay = 1 << 2,
45 EnableSharedSocket = 1 << 8,
46 EnableStunRetransmitAttribute = 1 << 9,
47 DisableAdapterEnumeration = 1 << 10,
48 DisableDefaultLocalCandidate = 1 << 11,
49 DisableUdpRelay = 1 << 12,
50 DisableCostlyNetworks = 1 << 13,
51 EnableIpv6OnWifi = 1 << 14,
52 EnableAnyAddressPorts = 1 << 15,
53 DisableLinkLocalNetworks = 1 << 16,
54 EnableGlobalSharedSocket = 1 << 17,
59MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
60 ::webrtc::RtpParameters
const& old_rtp_parameters,
61 ::webrtc::RtpParameters
const& rtp_parameters
64MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
65 ::webrtc::RtpParameters
const& old_rtp_parameters,
66 ::webrtc::RtpParameters
const& rtp_parameters,
67 ::rtc::ArrayView<::cricket::Codec> send_codecs,
68 ::std::optional<::cricket::Codec> send_codec
71MCNAPI ::webrtc::RTCError CheckRtpParametersValues(
72 ::webrtc::RtpParameters
const& rtp_parameters,
73 ::rtc::ArrayView<::cricket::Codec> send_codecs,
74 ::std::optional<::cricket::Codec> send_codec
77MCNAPI ::webrtc::RTCError CheckScalabilityModeValues(
78 ::webrtc::RtpParameters
const& rtp_parameters,
79 ::rtc::ArrayView<::cricket::Codec> send_codecs,
80 ::std::optional<::cricket::Codec> send_codec
83MCNAPI
bool ComputeStunCredentialHash(
84 ::std::string
const& username,
85 ::std::string
const& realm,
86 ::std::string
const& password,
90MCNAPI
bool ConnectionRoleToString(::cricket::ConnectionRole
const& role, ::std::string* role_str);
92MCNAPI ::cricket::Codec CreateAudioCodec(
int id, ::std::string
const& name,
int clockrate, uint64 channels);
94MCNAPI ::cricket::Codec CreateVideoCodec(
int id, ::std::string
const& name);
96MCNAPI ::std::vector<::cricket::Codec const*>
97FindAllMatchingCodecs(::std::vector<::cricket::Codec>
const& supported_codecs, ::cricket::Codec
const& codec);
99MCNAPI ::cricket::Codec
const* FindCodecById(::std::vector<::cricket::Codec>
const& codecs,
int payload_type);
101MCNAPI ::cricket::ContentInfo
const*
102FindContentInfoByName(::std::vector<::cricket::ContentInfo>
const& contents, ::std::string
const& name);
104MCNAPI ::std::vector<::webrtc::RtpExtension>
105GetDefaultEnabledRtpHeaderExtensions(::cricket::RtpHeaderExtensionQueryInterface
const& query_interface);
107MCNAPI ::cricket::ContentInfo
const* GetFirstAudioContent(::cricket::SessionDescription
const* sdesc);
109MCNAPI ::cricket::AudioContentDescription
const*
110GetFirstAudioContentDescription(::cricket::SessionDescription
const* sdesc);
112MCNAPI ::cricket::ContentInfo
const* GetFirstDataContent(::std::vector<::cricket::ContentInfo>
const& contents);
114MCNAPI ::cricket::ContentInfo
const* GetFirstDataContent(::cricket::SessionDescription
const* sdesc);
116MCNAPI ::cricket::ContentInfo
const*
117GetFirstMediaContent(::std::vector<::cricket::ContentInfo>
const& contents, ::cricket::MediaType media_type);
119MCNAPI ::cricket::SctpDataContentDescription
const*
120GetFirstSctpDataContentDescription(::cricket::SessionDescription
const* sdesc);
122MCNAPI ::cricket::ContentInfo
const* GetFirstVideoContent(::cricket::SessionDescription
const* sdesc);
124MCNAPI ::cricket::VideoContentDescription
const*
125GetFirstVideoContentDescription(::cricket::SessionDescription
const* sdesc);
127MCNAPI
int GetProtocolOverhead(::std::string_view protocol);
129MCNAPI
bool GetRtcpType(
void const* data, uint64 len,
int* value);
131MCNAPI
int GetStunErrorResponseType(
int req_type);
133MCNAPI
int GetStunSuccessResponseType(
int req_type);
135MCNAPI
bool IceCredentialsChanged(
136 ::std::string_view old_ufrag,
137 ::std::string_view old_pwd,
138 ::std::string_view new_ufrag,
139 ::std::string_view new_pwd
142MCNAPI ::std::string IceSwitchReasonToString(::cricket::IceSwitchReason reason);
144MCNAPI ::cricket::RtpPacketType InferRtpPacketType(::rtc::ArrayView<uchar const> packet);
146MCNAPI
bool IsAudioContent(::cricket::ContentInfo
const* content);
148MCNAPI
bool IsDtlsRtp(::std::string_view protocol);
150MCNAPI
bool IsDtlsSctp(::std::string_view protocol);
152MCNAPI
bool IsPlainRtp(::std::string_view protocol);
154MCNAPI
bool IsPlainSctp(::std::string_view protocol);
156MCNAPI
bool IsRtpProtocol(::std::string_view protocol);
158MCNAPI
bool IsSctpProtocol(::std::string_view protocol);
160MCNAPI
bool IsStunErrorResponseType(
int msg_type);
162MCNAPI
bool IsStunRequestType(
int msg_type);
164MCNAPI
bool IsStunSuccessResponseType(
int msg_type);
166MCNAPI
bool IsUnsupportedContent(::cricket::ContentInfo
const* content);
168MCNAPI
bool IsValidRtpPacketSize(::cricket::RtpPacketType packet_type, uint64 size);
170MCNAPI
bool IsValidRtpPayloadType(
int payload_type);
172MCNAPI
bool IsVideoContent(::cricket::ContentInfo
const* content);
174MCNAPI
int LeastCommonMultiple(
int a,
int b);
176MCNAPI ::std::string MediaTypeToString(::cricket::MediaType type);
178MCNAPI
void MergeCodecsFromDescription(
179 ::std::vector<::cricket::ContentInfo const*>
const& current_active_contents,
180 ::std::vector<::cricket::Codec>* audio_codecs,
181 ::std::vector<::cricket::Codec>* video_codecs,
182 ::cricket::UsedPayloadTypes* used_pltypes
185MCNAPI
char const* ProtoToString(::cricket::ProtocolType proto);
187MCNAPI ::std::string_view RtpPacketTypeToString(::cricket::RtpPacketType packet_type);
189MCNAPI ::std::optional<::cricket::ConnectionRole> StringToConnectionRole(::std::string_view role_str);
191MCNAPI ::std::optional<::cricket::ProtocolType> StringToProto(::std::string_view proto_name);
193MCNAPI ::std::string StunMethodToString(
int msg_type);
195MCNAPI ::webrtc::RTCError VerifyCandidate(::cricket::Candidate
const& cand);
197MCNAPI ::webrtc::RTCError VerifyCandidates(::std::vector<::cricket::Candidate>
const& candidates);
202MCNAPI
int const& BACKUP_CONNECTION_PING_INTERVAL();
204MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_AUDIO();
206MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_DATA();
208MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_OTHER();
210MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_VIDEO();
212MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTIVE_STR();
214MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTPASS_STR();
216MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_HOLDCONN_STR();
218MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_PASSIVE_STR();
220MCNAPI
int const& CONNECTION_RESPONSE_TIMEOUT();
222MCNAPI uint
const& CONNECTION_WRITE_CONNECT_FAILURES();
224MCNAPI
int const& CONNECTION_WRITE_CONNECT_TIMEOUT();
226MCNAPI
int const& CONNECTION_WRITE_TIMEOUT();
228MCNAPI
int const& DEAD_CONNECTION_RECEIVE_TIMEOUT();
230MCNAPI
int const& DISCARD_PORT();
232MCNAPI ::std::add_lvalue_reference_t<char const[]> GROUP_TYPE_BUNDLE();
234MCNAPI
int const& ICE_CANDIDATE_COMPONENT_DEFAULT();
236MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTCP();
238MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTP();
240MCNAPI
int const& ICE_PWD_LENGTH();
242MCNAPI uint64
const& ICE_PWD_MAX_LENGTH();
244MCNAPI uint64
const& ICE_PWD_MIN_LENGTH();
246MCNAPI
int const& ICE_UFRAG_LENGTH();
248MCNAPI uint64
const& ICE_UFRAG_MAX_LENGTH();
250MCNAPI uint64
const& ICE_UFRAG_MIN_LENGTH();
252MCNAPI ::std::add_lvalue_reference_t<char const[]> LOCAL_TLD();
254MCNAPI
int const& MIN_CHECK_RECEIVING_INTERVAL();
256MCNAPI
int const& MIN_CONNECTION_LIFETIME();
258MCNAPI
int const& RECEIVING_SWITCHING_DELAY();
260MCNAPI
int const& RECEIVING_TIMEOUT();
262MCNAPI
int const& REGATHER_ON_FAILED_NETWORKS_INTERVAL();
264MCNAPI
int const& SERVER_NOT_REACHABLE_ERROR();
266MCNAPI ::std::add_lvalue_reference_t<char const[]> SSLTCP_PROTOCOL_NAME();
268MCNAPI
int const& STRONG_AND_STABLE_WRITABLE_CONNECTION_PING_INTERVAL();
270MCNAPI
int const& STRONG_PING_INTERVAL();
272MCNAPI
int const& STUN_ATTR_TURN_LOGGING_ID();
274MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ALLOCATION_MISMATCH();
276MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_BAD_REQUEST();
278MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_FORBIDDEN();
280MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ROLE_CONFLICT();
282MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_SERVER_ERROR();
284MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_STALE_NONCE();
286MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_TRY_ALTERNATE_SERVER();
288MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNAUTHORIZED();
290MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNKNOWN_ATTRIBUTE();
292MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNSUPPORTED_PROTOCOL();
294MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_WRONG_CREDENTIALS();
296MCNAPI
int const& STUN_KEEPALIVE_INTERVAL();
298MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_ACTIVE_STR();
300MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_PASSIVE_STR();
302MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_SIMOPEN_STR();
304MCNAPI ::std::add_lvalue_reference_t<char const[]> TCP_PROTOCOL_NAME();
306MCNAPI ::std::add_lvalue_reference_t<char const[]> TLS_PROTOCOL_NAME();
308MCNAPI ::std::add_lvalue_reference_t<char const[]> TURN_MAGIC_COOKIE_VALUE();
310MCNAPI ::std::add_lvalue_reference_t<char const[]> UDP_PROTOCOL_NAME();
312MCNAPI
int const& WEAK_CONNECTION_RECEIVE_TIMEOUT();
314MCNAPI
int const& WEAK_OR_STABILIZING_WRITABLE_CONNECTION_PING_INTERVAL();
316MCNAPI
int const& WEAK_PING_INTERVAL();
318MCNAPI ::std::add_lvalue_reference_t<char const[]> kApplicationSpecificBandwidth();
320MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1CodecName();
322MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpLevelIdx();
324MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpProfile();
326MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpTier();
328MCNAPI ::std::add_lvalue_reference_t<char const[]> kCnCodecName();
330MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedCodecName();
332MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedPayloadType();
334MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxAverageBitrate();
336MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxBitrate();
338MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPTime();
340MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPlaybackRate();
342MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxQuantization();
344MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinBitrate();
346MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinPTime();
348MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamNotInNameValueFormat();
350MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPTime();
352MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPerLayerPictureLossIndication();
354MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamRtxTime();
356MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamSPropStereo();
358MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStartBitrate();
360MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStereo();
362MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseDtx();
364MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseInbandFec();
366MCNAPI ::std::add_lvalue_reference_t<char const[]> kComfortNoiseCodecName();
368MCNAPI uint64
const& kConferenceDefaultNumTemporalLayers();
370MCNAPI uint64
const& kConferenceMaxNumSpatialLayers();
372MCNAPI uint64
const& kConferenceMaxNumTemporalLayers();
374MCNAPI
int const& kDefaultVideoMaxFramerate();
376MCNAPI
int const& kDefaultVideoMaxQpH26x();
378MCNAPI
int const& kDefaultVideoMaxQpVpx();
380MCNAPI ::std::add_lvalue_reference_t<char const[]> kDtmfCodecName();
382MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecFrSsrcGroupSemantics();
384MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecSsrcGroupSemantics();
386MCNAPI ::std::add_lvalue_reference_t<char const[]> kFidSsrcGroupSemantics();
388MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecCodecName();
390MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecFmtpRepairWindow();
392MCNAPI ::std::add_lvalue_reference_t<char const[]> kG722CodecName();
394MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264CodecName();
396MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpLevelAsymmetryAllowed();
398MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpPacketizationMode();
400MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpProfileLevelId();
402MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpropParameterSets();
404MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpsPpsIdrInKeyframe();
406MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedBaseline();
408MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedHigh();
410MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265CodecName();
412MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpInteropConstraints();
414MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpLevelId();
416MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileCompatibilityIndicator();
418MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileId();
420MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileSpace();
422MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTierFlag();
424MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTxMode();
426MCNAPI
float const& kHighSystemCpuThreshold();
428MCNAPI ::std::add_lvalue_reference_t<char const[]> kIlbcCodecName();
430MCNAPI ::std::add_lvalue_reference_t<char const[]> kL16CodecName();
432MCNAPI
float const& kLowSystemCpuThreshold();
434MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolAvpf();
436MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSavpf();
438MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSctp();
440MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSavpf();
442MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSctp();
444MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolTcpDtlsSctp();
446MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolUdpDtlsSctp();
448MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeAudio();
450MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeData();
452MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeVideo();
454MCNAPI ::std::add_lvalue_reference_t<char const[]> kOpusCodecName();
456MCNAPI
int const& kOpusDefaultMaxPTime();
458MCNAPI
int const& kOpusDefaultMaxPlaybackRate();
460MCNAPI
int const& kOpusDefaultMinPTime();
462MCNAPI
int const& kOpusDefaultPTime();
464MCNAPI
int const& kOpusDefaultSPropStereo();
466MCNAPI
int const& kOpusDefaultStereo();
468MCNAPI
int const& kOpusDefaultUseDtx();
470MCNAPI
int const& kOpusDefaultUseInbandFec();
472MCNAPI ::std::add_lvalue_reference_t<char const[]> kPacketizationParamRaw();
474MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueEmpty();
476MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueTrue();
478MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmaCodecName();
480MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmuCodecName();
482MCNAPI
int const& kPreferredMaxPTime();
484MCNAPI
int const& kPreferredMinPTime();
486MCNAPI
int const& kPreferredSPropStereo();
488MCNAPI
int const& kPreferredStereo();
490MCNAPI
int const& kPreferredUseInbandFec();
492MCNAPI
float const& kProcessCpuThreshold();
494MCNAPI ::std::add_lvalue_reference_t<char const[]> kRedCodecName();
496MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbCcmParamFir();
498MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbNackParamPli();
500MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamCcm();
502MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamLntf();
504MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamNack();
506MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRemb();
508MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRrtr();
510MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamTransportCc();
512MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtxCodecName();
514MCNAPI ::std::add_lvalue_reference_t<char const[]> kSimSsrcGroupSemantics();
516MCNAPI ::std::add_lvalue_reference_t<char const[]> kTransportSpecificBandwidth();
518MCNAPI ::std::add_lvalue_reference_t<char const[]> kUlpfecCodecName();
520MCNAPI ::std::add_lvalue_reference_t<char const[]> kVP9ProfileId();
522MCNAPI
int const& kVideoCodecClockrate();
524MCNAPI
int const& kVideoMtu();
526MCNAPI
int const& kVideoRtpRecvBufferSize();
528MCNAPI
int const& kVideoRtpSendBufferSize();
530MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp8CodecName();
532MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp9CodecName();
Definition AudioContentDescription.h:11
Definition Candidate.h:15
Definition ContentInfo.h:12
Definition SctpDataContentDescription.h:11
Definition SessionDescription.h:18
Definition UsedPayloadTypes.h:15
Definition VideoContentDescription.h:11
Definition RtpExtension.h:7
Definition RtpParameters.h:7