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"
11#include "mc/external/webrtc/RtpExtension.h"
15namespace cricket {
class AudioContentDescription; }
16namespace cricket {
class Candidate; }
17namespace cricket {
class ContentInfo; }
18namespace cricket {
class MediaContentDescription; }
19namespace cricket {
class RtpHeaderExtensionQueryInterface; }
20namespace cricket {
class SctpDataContentDescription; }
21namespace cricket {
class SessionDescription; }
22namespace cricket {
class UsedPayloadTypes; }
23namespace cricket {
class VideoContentDescription; }
24namespace cricket {
struct Codec; }
25namespace cricket {
struct MediaChannelParameters; }
26namespace cricket {
struct SenderParameters; }
27namespace webrtc {
class RTCError; }
28namespace webrtc {
struct RtpExtension; }
29namespace webrtc {
struct RtpParameters; }
40 All = Host | Reflexive | Relay,
47 DisableRelay = 1 << 2,
50 EnableSharedSocket = 1 << 8,
51 EnableStunRetransmitAttribute = 1 << 9,
52 DisableAdapterEnumeration = 1 << 10,
53 DisableDefaultLocalCandidate = 1 << 11,
54 DisableUdpRelay = 1 << 12,
55 DisableCostlyNetworks = 1 << 13,
56 EnableIpv6OnWifi = 1 << 14,
57 EnableAnyAddressPorts = 1 << 15,
58 DisableLinkLocalNetworks = 1 << 16,
59 EnableGlobalSharedSocket = 1 << 17,
64MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
69MCNAPI ::webrtc::RTCError CheckRtpParametersInvalidModificationAndValues(
73 ::std::optional<::cricket::Codec> send_codec
76MCNAPI ::webrtc::RTCError CheckRtpParametersValues(
79 ::std::optional<::cricket::Codec> send_codec
82MCNAPI ::webrtc::RTCError CheckScalabilityModeValues(
85 ::std::optional<::cricket::Codec> send_codec
88MCNAPI
bool ComputeStunCredentialHash(
89 ::std::string
const& username,
90 ::std::string
const& realm,
91 ::std::string
const& password,
95MCNAPI
bool ConnectionRoleToString(::cricket::ConnectionRole
const& role, ::std::string* role_str);
97MCNAPI ::cricket::Codec CreateAudioCodec(
int id, ::std::string
const& name,
int clockrate, uint64 channels);
99MCNAPI ::cricket::Codec CreateVideoCodec(
int id, ::std::string
const& name);
101MCNAPI ::std::vector<::cricket::Codec const*>
102FindAllMatchingCodecs(::std::vector<::cricket::Codec>
const& supported_codecs,
::cricket::Codec const& codec);
104MCNAPI ::cricket::Codec
const* FindCodecById(::std::vector<::cricket::Codec>
const& codecs,
int payload_type);
106MCNAPI ::cricket::ContentInfo
const*
107FindContentInfoByName(::std::vector<::cricket::ContentInfo>
const& contents, ::std::string
const& name);
109MCNAPI ::std::vector<::webrtc::RtpExtension>
114MCNAPI ::cricket::AudioContentDescription
const*
117MCNAPI ::cricket::ContentInfo
const* GetFirstDataContent(::std::vector<::cricket::ContentInfo>
const& contents);
121MCNAPI ::cricket::ContentInfo
const*
122GetFirstMediaContent(::std::vector<::cricket::ContentInfo>
const& contents, ::cricket::MediaType media_type);
124MCNAPI ::cricket::ContentInfo
const*
127MCNAPI ::cricket::MediaContentDescription
const*
130MCNAPI ::cricket::SctpDataContentDescription
const*
135MCNAPI ::cricket::VideoContentDescription
const*
138MCNAPI
int GetProtocolOverhead(::std::string_view protocol);
140MCNAPI
bool GetRtcpType(
void const* data, uint64 len,
int* value);
142MCNAPI
int GetStunErrorResponseType(
int req_type);
144MCNAPI
int GetStunSuccessResponseType(
int req_type);
146MCNAPI
int GreatestCommonDivisor(
int a,
int b);
148MCNAPI
bool IceCredentialsChanged(
149 ::std::string_view old_ufrag,
150 ::std::string_view old_pwd,
151 ::std::string_view new_ufrag,
152 ::std::string_view new_pwd
155MCNAPI ::std::string IceSwitchReasonToString(::cricket::IceSwitchReason reason);
161MCNAPI
bool IsDtlsRtp(::std::string_view protocol);
163MCNAPI
bool IsDtlsSctp(::std::string_view protocol);
165MCNAPI
bool IsPlainRtp(::std::string_view protocol);
167MCNAPI
bool IsPlainSctp(::std::string_view protocol);
169MCNAPI
bool IsRtpProtocol(::std::string_view protocol);
171MCNAPI
bool IsSctpProtocol(::std::string_view protocol);
173MCNAPI
bool IsStunErrorResponseType(
int msg_type);
175MCNAPI
bool IsStunIndicationType(
int msg_type);
177MCNAPI
bool IsStunRequestType(
int msg_type);
179MCNAPI
bool IsStunSuccessResponseType(
int msg_type);
183MCNAPI
bool IsValidRtpPacketSize(::cricket::RtpPacketType packet_type, uint64 size);
185MCNAPI
bool IsValidRtpPayloadType(
int payload_type);
189MCNAPI
int LeastCommonMultiple(
int a,
int b);
191MCNAPI
void MediaChannelParametersFromMediaDescription(
193 ::std::vector<::webrtc::RtpExtension>
const& extensions,
194 bool is_stream_active,
198MCNAPI ::std::string MediaTypeToString(::cricket::MediaType type);
200MCNAPI
void MergeCodecsFromDescription(
201 ::std::vector<::cricket::ContentInfo const*>
const& current_active_contents,
202 ::std::vector<::cricket::Codec>* audio_codecs,
203 ::std::vector<::cricket::Codec>* video_codecs,
207MCNAPI
char const* ProtoToString(::cricket::ProtocolType proto);
209MCNAPI ::std::string_view RtpPacketTypeToString(::cricket::RtpPacketType packet_type);
211MCNAPI
void RtpSendParametersFromMediaDescription(
213 ::webrtc::RtpExtension::Filter extensions_filter,
217MCNAPI ::std::optional<::cricket::ConnectionRole> StringToConnectionRole(::std::string_view role_str);
219MCNAPI ::std::optional<::cricket::ProtocolType> StringToProto(::std::string_view proto_name);
221MCNAPI ::std::string StunMethodToString(
int msg_type);
225MCNAPI ::webrtc::RTCError VerifyCandidates(::std::vector<::cricket::Candidate>
const& candidates);
230MCNAPI
int const& BACKUP_CONNECTION_PING_INTERVAL();
232MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_AUDIO();
234MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_DATA();
236MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_OTHER();
238MCNAPI ::std::add_lvalue_reference_t<char const[]> CN_VIDEO();
240MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTIVE_STR();
242MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_ACTPASS_STR();
244MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_HOLDCONN_STR();
246MCNAPI ::std::add_lvalue_reference_t<char const[]> CONNECTIONROLE_PASSIVE_STR();
248MCNAPI
int const& CONNECTION_RESPONSE_TIMEOUT();
250MCNAPI uint
const& CONNECTION_WRITE_CONNECT_FAILURES();
252MCNAPI
int const& CONNECTION_WRITE_CONNECT_TIMEOUT();
254MCNAPI
int const& CONNECTION_WRITE_TIMEOUT();
256MCNAPI
int const& DEAD_CONNECTION_RECEIVE_TIMEOUT();
258MCNAPI
int const& DISCARD_PORT();
260MCNAPI ::std::add_lvalue_reference_t<char const[]> GROUP_TYPE_BUNDLE();
262MCNAPI
int const& ICE_CANDIDATE_COMPONENT_DEFAULT();
264MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTCP();
266MCNAPI
int const& ICE_CANDIDATE_COMPONENT_RTP();
268MCNAPI
int const& ICE_PWD_LENGTH();
270MCNAPI uint64
const& ICE_PWD_MAX_LENGTH();
272MCNAPI uint64
const& ICE_PWD_MIN_LENGTH();
274MCNAPI
int const& ICE_UFRAG_LENGTH();
276MCNAPI uint64
const& ICE_UFRAG_MAX_LENGTH();
278MCNAPI uint64
const& ICE_UFRAG_MIN_LENGTH();
280MCNAPI ::std::add_lvalue_reference_t<char const[]> LOCAL_TLD();
282MCNAPI
int const& MIN_CHECK_RECEIVING_INTERVAL();
284MCNAPI
int const& MIN_CONNECTION_LIFETIME();
286MCNAPI
int const& RECEIVING_SWITCHING_DELAY();
288MCNAPI
int const& RECEIVING_TIMEOUT();
290MCNAPI
int const& REGATHER_ON_FAILED_NETWORKS_INTERVAL();
292MCNAPI
int const& SERVER_NOT_REACHABLE_ERROR();
294MCNAPI ::std::add_lvalue_reference_t<char const[]> SSLTCP_PROTOCOL_NAME();
296MCNAPI
int const& STRONG_AND_STABLE_WRITABLE_CONNECTION_PING_INTERVAL();
298MCNAPI
int const& STRONG_PING_INTERVAL();
300MCNAPI
int const& STUN_ATTR_TURN_LOGGING_ID();
302MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ALLOCATION_MISMATCH();
304MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_BAD_REQUEST();
306MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_FORBIDDEN();
308MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_ROLE_CONFLICT();
310MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_SERVER_ERROR();
312MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_STALE_NONCE();
314MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_TRY_ALTERNATE_SERVER();
316MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNAUTHORIZED();
318MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNKNOWN_ATTRIBUTE();
320MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_UNSUPPORTED_PROTOCOL();
322MCNAPI ::std::add_lvalue_reference_t<char const[]> STUN_ERROR_REASON_WRONG_CREDENTIALS();
324MCNAPI
int const& STUN_KEEPALIVE_INTERVAL();
326MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_ACTIVE_STR();
328MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_PASSIVE_STR();
330MCNAPI ::std::add_lvalue_reference_t<char const[]> TCPTYPE_SIMOPEN_STR();
332MCNAPI ::std::add_lvalue_reference_t<char const[]> TCP_PROTOCOL_NAME();
334MCNAPI ::std::add_lvalue_reference_t<char const[]> TLS_PROTOCOL_NAME();
336MCNAPI ::std::add_lvalue_reference_t<char const[]> TURN_MAGIC_COOKIE_VALUE();
338MCNAPI ::std::add_lvalue_reference_t<char const[]> UDP_PROTOCOL_NAME();
340MCNAPI
int const& WEAK_CONNECTION_RECEIVE_TIMEOUT();
342MCNAPI
int const& WEAK_OR_STABILIZING_WRITABLE_CONNECTION_PING_INTERVAL();
344MCNAPI
int const& WEAK_PING_INTERVAL();
346MCNAPI ::std::add_lvalue_reference_t<char const[]> kApplicationSpecificBandwidth();
348MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1CodecName();
350MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpLevelIdx();
352MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpProfile();
354MCNAPI ::std::add_lvalue_reference_t<char const[]> kAv1FmtpTier();
356MCNAPI ::std::add_lvalue_reference_t<char const[]> kCnCodecName();
358MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedCodecName();
360MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamAssociatedPayloadType();
362MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxAverageBitrate();
364MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxBitrate();
366MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPTime();
368MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxPlaybackRate();
370MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMaxQuantization();
372MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinBitrate();
374MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamMinPTime();
376MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamNotInNameValueFormat();
378MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPTime();
380MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamPerLayerPictureLossIndication();
382MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamRtxTime();
384MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamSPropStereo();
386MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStartBitrate();
388MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamStereo();
390MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseDtx();
392MCNAPI ::std::add_lvalue_reference_t<char const[]> kCodecParamUseInbandFec();
394MCNAPI ::std::add_lvalue_reference_t<char const[]> kComfortNoiseCodecName();
396MCNAPI uint64
const& kConferenceDefaultNumTemporalLayers();
398MCNAPI uint64
const& kConferenceMaxNumSpatialLayers();
400MCNAPI uint64
const& kConferenceMaxNumTemporalLayers();
402MCNAPI
int const& kDefaultVideoMaxFramerate();
404MCNAPI
int const& kDefaultVideoMaxQpH26x();
406MCNAPI
int const& kDefaultVideoMaxQpVpx();
408MCNAPI ::std::add_lvalue_reference_t<char const[]> kDtmfCodecName();
410MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecFrSsrcGroupSemantics();
412MCNAPI ::std::add_lvalue_reference_t<char const[]> kFecSsrcGroupSemantics();
414MCNAPI ::std::add_lvalue_reference_t<char const[]> kFidSsrcGroupSemantics();
416MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecCodecName();
418MCNAPI ::std::add_lvalue_reference_t<char const[]> kFlexfecFmtpRepairWindow();
420MCNAPI ::std::add_lvalue_reference_t<char const[]> kG722CodecName();
422MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264CodecName();
424MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpLevelAsymmetryAllowed();
426MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpPacketizationMode();
428MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpProfileLevelId();
430MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpropParameterSets();
432MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264FmtpSpsPpsIdrInKeyframe();
434MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedBaseline();
436MCNAPI ::std::add_lvalue_reference_t<char const[]> kH264ProfileLevelConstrainedHigh();
438MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265CodecName();
440MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpInteropConstraints();
442MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpLevelId();
444MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileCompatibilityIndicator();
446MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileId();
448MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpProfileSpace();
450MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTierFlag();
452MCNAPI ::std::add_lvalue_reference_t<char const[]> kH265FmtpTxMode();
454MCNAPI
float const& kHighSystemCpuThreshold();
456MCNAPI ::std::add_lvalue_reference_t<char const[]> kIlbcCodecName();
458MCNAPI ::std::add_lvalue_reference_t<char const[]> kL16CodecName();
460MCNAPI
float const& kLowSystemCpuThreshold();
462MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolAvpf();
464MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSavpf();
466MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolDtlsSctp();
468MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSavpf();
470MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolSctp();
472MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolTcpDtlsSctp();
474MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaProtocolUdpDtlsSctp();
476MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeAudio();
478MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeData();
480MCNAPI ::std::add_lvalue_reference_t<char const[]> kMediaTypeVideo();
482MCNAPI ::std::add_lvalue_reference_t<char const[]> kOpusCodecName();
484MCNAPI
int const& kOpusDefaultMaxPTime();
486MCNAPI
int const& kOpusDefaultMaxPlaybackRate();
488MCNAPI
int const& kOpusDefaultMinPTime();
490MCNAPI
int const& kOpusDefaultPTime();
492MCNAPI
int const& kOpusDefaultSPropStereo();
494MCNAPI
int const& kOpusDefaultStereo();
496MCNAPI
int const& kOpusDefaultUseDtx();
498MCNAPI
int const& kOpusDefaultUseInbandFec();
500MCNAPI ::std::add_lvalue_reference_t<char const[]> kPacketizationParamRaw();
502MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueEmpty();
504MCNAPI ::std::add_lvalue_reference_t<char const[]> kParamValueTrue();
506MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmaCodecName();
508MCNAPI ::std::add_lvalue_reference_t<char const[]> kPcmuCodecName();
510MCNAPI
int const& kPreferredMaxPTime();
512MCNAPI
int const& kPreferredMinPTime();
514MCNAPI
int const& kPreferredSPropStereo();
516MCNAPI
int const& kPreferredStereo();
518MCNAPI
int const& kPreferredUseInbandFec();
520MCNAPI
float const& kProcessCpuThreshold();
522MCNAPI ::std::add_lvalue_reference_t<char const[]> kRedCodecName();
524MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbCcmParamFir();
526MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbNackParamPli();
528MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamCcm();
530MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamLntf();
532MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamNack();
534MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRemb();
536MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamRrtr();
538MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtcpFbParamTransportCc();
540MCNAPI ::std::add_lvalue_reference_t<char const[]> kRtxCodecName();
542MCNAPI ::std::add_lvalue_reference_t<char const[]> kSimSsrcGroupSemantics();
544MCNAPI ::std::add_lvalue_reference_t<char const[]> kTransportSpecificBandwidth();
546MCNAPI ::std::add_lvalue_reference_t<char const[]> kUlpfecCodecName();
548MCNAPI ::std::add_lvalue_reference_t<char const[]> kVP9ProfileId();
550MCNAPI
int const& kVideoCodecClockrate();
552MCNAPI
int const& kVideoMtu();
554MCNAPI
int const& kVideoRtpRecvBufferSize();
556MCNAPI
int const& kVideoRtpSendBufferSize();
558MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp8CodecName();
560MCNAPI ::std::add_lvalue_reference_t<char const[]> kVp9CodecName();
Definition Candidate.h:15
Definition ContentInfo.h:12
Definition MediaContentDescription.h:23
Definition SessionDescription.h:18
Definition UsedPayloadTypes.h:15
Definition _HeaderOutputPredefine.h:260
Definition SenderParameters.h:10
Definition RtpParameters.h:7