3#include "mc/_HeaderOutputPredefine.h" 
    6#include "mc/external/absl/AnyInvocable.h" 
    7#include "mc/external/cricket/MediaType.h" 
    8#include "mc/external/rtc/AdapterType.h" 
    9#include "mc/external/webrtc/AV1Profile.h" 
   10#include "mc/external/webrtc/IceCandidateType.h" 
   11#include "mc/external/webrtc/PeerConnectionInterface.h" 
   12#include "mc/external/webrtc/Priority.h" 
   13#include "mc/external/webrtc/RTCErrorDetailType.h" 
   14#include "mc/external/webrtc/RTCErrorType.h" 
   15#include "mc/external/webrtc/RtpReceiverProxyWithInternal.h" 
   16#include "mc/external/webrtc/RtpSenderProxyWithInternal.h" 
   17#include "mc/external/webrtc/RtpTransceiverDirection.h" 
   18#include "mc/external/webrtc/RtpTransceiverProxyWithInternal.h" 
   19#include "mc/external/webrtc/ScalabilityMode.h" 
   20#include "mc/external/webrtc/SdpType.h" 
   21#include "mc/external/webrtc/VP9Profile.h" 
   22#include "mc/external/webrtc/VideoCodecType.h" 
   23#include "mc/external/webrtc/scoped_refptr.h" 
   27namespace cricket { 
class Candidate; }
 
   28namespace cricket { 
class ContentInfo; }
 
   29namespace cricket { 
class FeedbackParam; }
 
   30namespace cricket { 
class FeedbackParams; }
 
   31namespace cricket { 
class MediaContentDescription; }
 
   32namespace cricket { 
class SessionDescription; }
 
   33namespace cricket { 
struct Codec; }
 
   34namespace cricket { 
struct RelayServerConfig; }
 
   35namespace cricket { 
struct RidDescription; }
 
   36namespace cricket { 
struct StreamParams; }
 
   37namespace rtc { 
class CopyOnWriteBuffer; }
 
   38namespace rtc { 
class IPAddress; }
 
   39namespace rtc { 
class RTCCertificate; }
 
   40namespace rtc { 
class SocketAddress; }
 
   41namespace rtc { 
class StringBuilder; }
 
   42namespace webrtc { 
class DataRate; }
 
   43namespace webrtc { 
class DataSize; }
 
   44namespace webrtc { 
class FieldTrialParameterInterface; }
 
   45namespace webrtc { 
class FieldTrialsView; }
 
   46namespace webrtc { 
class IceCandidateInterface; }
 
   47namespace webrtc { 
class JsepIceCandidate; }
 
   48namespace webrtc { 
class JsepSessionDescription; }
 
   49namespace webrtc { 
class MediaStreamTrackInterface; }
 
   50namespace webrtc { 
class PendingTaskSafetyFlag; }
 
   51namespace webrtc { 
class RTCError; }
 
   52namespace webrtc { 
class RTCStats; }
 
   53namespace webrtc { 
class RTCStatsReport; }
 
   54namespace webrtc { 
class RtpHeaderExtensionMap; }
 
   55namespace webrtc { 
class RtpReceiverInterface; }
 
   56namespace webrtc { 
class RtpReceiverInternal; }
 
   57namespace webrtc { 
class RtpSenderInterface; }
 
   58namespace webrtc { 
class RtpSenderInternal; }
 
   59namespace webrtc { 
class RtpTransceiver; }
 
   60namespace webrtc { 
class SessionDescriptionInterface; }
 
   61namespace webrtc { 
class TaskQueueFactory; }
 
   62namespace webrtc { 
class TimeDelta; }
 
   63namespace webrtc { 
class Timestamp; }
 
   64namespace webrtc { 
class TransceiverList; }
 
   65namespace webrtc { 
class VideoFrameBuffer; }
 
   66namespace webrtc { 
struct DataChannelInit; }
 
   67namespace webrtc { 
struct H264ProfileLevelId; }
 
   68namespace webrtc { 
struct RTPVideoHeader; }
 
   69namespace webrtc { 
struct RtcpFeedback; }
 
   70namespace webrtc { 
struct RtpCapabilities; }
 
   71namespace webrtc { 
struct RtpCodecCapability; }
 
   72namespace webrtc { 
struct RtpExtension; }
 
   73namespace webrtc { 
struct RtpExtensionSize; }
 
   74namespace webrtc { 
struct RtpParameters; }
 
   75namespace webrtc { 
struct SdpParseError; }
 
   76namespace webrtc { 
struct SsrcInfo; }
 
   83    KMaxEncoderBuffers = 1 << 3,
 
   87    KMaxPreferredPixelFormats = 5,
 
   91    KMaxSimulcastStreams = 3,
 
   95    KMaxSpatialLayers = 5,
 
  100    KMaxTemporalStreams = 1 << 2,
 
  109MCNAPI 
bool AV1IsSameProfile(
 
  110    ::std::map<::std::string, ::std::string> 
const& params1,
 
  111    ::std::map<::std::string, ::std::string> 
const& params2
 
  114MCNAPI 
char const* AdapterTypeToStatsType(::rtc::AdapterType type);
 
  123MCNAPI 
void AddFmtpLine(
::cricket::Codec const& codec, ::std::string* message);
 
  127MCNAPI 
void AddPacketizationLine(
::cricket::Codec const& codec, ::std::string* message);
 
  129MCNAPI 
void AddParameters(::std::map<::std::string, ::std::string> 
const& parameters, 
::cricket::Codec* codec);
 
  131MCNAPI 
void AddRtcpFbLines(
::cricket::Codec const& codec, ::std::string* message);
 
  133MCNAPI 
void AlignedFree(
void* mem_block);
 
  135MCNAPI 
void* AlignedMalloc(uint64 size, uint64 alignment);
 
  137MCNAPI 
char const* CodecTypeToPayloadString(::webrtc::VideoCodecType type);
 
  139MCNAPI ::webrtc::TimeDelta CompactNtpRttToTimeDelta(uint compact_ntp_interval);
 
  141MCNAPI ::std::unique_ptr<::webrtc::TaskQueueFactory>
 
  144MCNAPI ::webrtc::IceCandidateInterface* CreateIceCandidate(
 
  145    ::std::string 
const&     sdp_mid,
 
  147    ::std::string 
const&     sdp,
 
  151MCNAPI ::std::unique_ptr<::webrtc::SessionDescriptionInterface>
 
  152CreateSessionDescription(::webrtc::SdpType type, ::std::string 
const& sdp);
 
  154MCNAPI ::std::unique_ptr<::webrtc::SessionDescriptionInterface>
 
  157MCNAPI ::std::unique_ptr<::webrtc::SessionDescriptionInterface> CreateSessionDescription(
 
  158    ::webrtc::SdpType                                type,
 
  159    ::std::string 
const&                             session_id,
 
  160    ::std::string 
const&                             session_version,
 
  161    ::std::unique_ptr<::cricket::SessionDescription> description
 
  164MCNAPI ::std::unique_ptr<::webrtc::TaskQueueFactory> CreateTaskQueueStdlibFactory();
 
  166MCNAPI 
void CreateTrackWithNoSsrcs(
 
  167    ::std::vector<::std::string> 
const&             msid_stream_ids,
 
  168    ::std::string_view                              msid_track_id,
 
  169    ::std::vector<::cricket::RidDescription> 
const& rids,
 
  170    ::std::vector<::cricket::StreamParams>*         tracks
 
  173MCNAPI 
void CreateTracksFromSsrcInfos(
 
  174    ::std::vector<::webrtc::SsrcInfo> 
const& ssrc_infos,
 
  175    ::std::vector<::std::string> 
const&      msid_stream_ids,
 
  176    ::std::string_view                       msid_track_id,
 
  177    ::std::vector<::cricket::StreamParams>*  tracks,
 
  181MCNAPI ::cricket::Codec
 
  182GetCodecWithPayloadType(::cricket::MediaType type, ::std::vector<::cricket::Codec> 
const& codecs, 
int payload_type);
 
  184MCNAPI 
bool GetDtmfCode(
char tone, 
int* 
code);
 
  190MCNAPI 
bool GetMinValue(::std::vector<int> 
const& values, 
int* value);
 
  192MCNAPI 
bool GetParameter(::std::string 
const& name, ::std::map<::std::string, ::std::string> 
const& params, 
int* value);
 
  194MCNAPI uint64 GetRightAlign(uint64 start_pos, uint64 alignment);
 
  196MCNAPI ::std::vector<::std::string const*> GetStatsReferencedIds(
::webrtc::RTCStats const& stats);
 
  198MCNAPI 
void H264GenerateProfileLevelIdForAnswer(
 
  199    ::std::map<::std::string, ::std::string> 
const& local_supported_params,
 
  200    ::std::map<::std::string, ::std::string> 
const& remote_offered_params,
 
  201    ::std::map<::std::string, ::std::string>*       answer_params
 
  204MCNAPI 
bool H264IsSameProfile(
 
  205    ::std::map<::std::string, ::std::string> 
const& params1,
 
  206    ::std::map<::std::string, ::std::string> 
const& params2
 
  215MCNAPI ::std::string_view IceCandidateTypeToString(::webrtc::IceCandidateType type);
 
  217MCNAPI ::webrtc::RTCError
 
  220MCNAPI 
bool IsFmtpParam(::std::string_view name);
 
  222MCNAPI 
bool IsLegalRsidName(::std::string_view name);
 
  224MCNAPI 
bool IsMandatoryHeaderExtension(::std::string 
const& uri);
 
  226MCNAPI 
bool IsNewerSequenceNumber(ushort sequence_number, ushort prev_sequence_number);
 
  234MCNAPI 
bool IsTokenChar(
char ch);
 
  236MCNAPI 
int Leb128Size(uint64 value);
 
  241MCNAPI 
bool ParseCandidate(
 
  242    ::std::string_view       message,
 
  252MCNAPI 
bool ParseDataChannelOpenMessage(
 
  254    ::std::string*                  label,
 
  258MCNAPI 
void ParseFieldTrial(
 
  259    ::std::initializer_list<::webrtc::FieldTrialParameterInterface*> fields,
 
  260    ::std::string_view                                               trial_string
 
  263MCNAPI ::std::optional<::webrtc::H264ProfileLevelId> ParseH264ProfileLevelId(
char const* str);
 
  265MCNAPI ::webrtc::RTCError ParseIceServersOrError(
 
  266    ::std::vector<::webrtc::PeerConnectionInterface::IceServer> 
const& servers,
 
  267    ::std::set<::rtc::SocketAddress>*                                  stun_servers,
 
  268    ::std::vector<::cricket::RelayServerConfig>*                       turn_servers
 
  275MCNAPI 
bool ParseSctpMaxMessageSize(::std::string_view line, 
int* max_message_size, 
::webrtc::SdpParseError* error);
 
  279MCNAPI ::std::optional<::webrtc::AV1Profile>
 
  280ParseSdpForAV1Profile(::std::map<::std::string, ::std::string> 
const& params);
 
  282MCNAPI ::std::optional<::webrtc::H264ProfileLevelId>
 
  283ParseSdpForH264ProfileLevelId(::std::map<::std::string, ::std::string> 
const& params);
 
  285MCNAPI ::std::optional<::webrtc::VP9Profile>
 
  286ParseSdpForVP9Profile(::std::map<::std::string, ::std::string> 
const& params);
 
  288MCNAPI ::webrtc::VideoCodecType PayloadStringToCodecType(::std::string 
const& name);
 
  290MCNAPI ::std::optional<::cricket::Codec> PopWildcardCodec(::std::vector<::cricket::Codec>* codecs);
 
  292MCNAPI 
int ResolveHostname(::std::string_view hostname, 
int family, ::std::vector<::rtc::IPAddress>& addresses);
 
  296MCNAPI 
int RtpHeaderExtensionSize(
 
  301MCNAPI ::webrtc::RtpTransceiverDirection RtpTransceiverDirectionFromSendRecv(
bool send, 
bool recv);
 
  303MCNAPI 
bool RtpTransceiverDirectionHasRecv(::webrtc::RtpTransceiverDirection direction);
 
  305MCNAPI 
bool RtpTransceiverDirectionHasSend(::webrtc::RtpTransceiverDirection direction);
 
  307MCNAPI ::webrtc::RtpTransceiverDirection
 
  308RtpTransceiverDirectionIntersection(::webrtc::RtpTransceiverDirection lhs, ::webrtc::RtpTransceiverDirection rhs);
 
  310MCNAPI ::webrtc::RtpTransceiverDirection RtpTransceiverDirectionReversed(::webrtc::RtpTransceiverDirection direction);
 
  312MCNAPI 
char const* RtpTransceiverDirectionToString(::webrtc::RtpTransceiverDirection direction);
 
  314MCNAPI ::webrtc::RtpTransceiverDirection
 
  315RtpTransceiverDirectionWithRecvSet(::webrtc::RtpTransceiverDirection direction, 
bool recv);
 
  317MCNAPI ::absl::AnyInvocable<void() &&>
 
  320MCNAPI ::std::string_view ScalabilityModeToString(::webrtc::ScalabilityMode scalability_mode);
 
  325MCNAPI 
bool SdpDeserializeCandidate(
 
  326    ::std::string_view          message,
 
  337MCNAPI ::std::optional<::webrtc::SdpType> SdpTypeFromString(::std::string 
const& type_str);
 
  339MCNAPI 
char const* SdpTypeToString(::webrtc::SdpType type);
 
  341MCNAPI ::std::optional<::webrtc::AV1Profile> StringToAV1Profile(::std::string_view str);
 
  343MCNAPI ::std::optional<::webrtc::VP9Profile> StringToVP9Profile(::std::string 
const& str);
 
  345MCNAPI ::webrtc::scoped_refptr<::webrtc::RTCStatsReport>
 
  350MCNAPI ::webrtc::RtpCapabilities ToRtpCapabilities(
 
  351    ::std::vector<::cricket::Codec> 
const&       cricket_codecs,
 
  352    ::std::vector<::webrtc::RtpExtension> 
const& cricket_extensions
 
  355MCNAPI ::webrtc::RtpCodecCapability ToRtpCodecCapability(
::cricket::Codec const& cricket_codec);
 
  357MCNAPI ::std::string_view ToString(::webrtc::RTCErrorType error);
 
  359MCNAPI ::std::string_view ToString(::webrtc::RTCErrorDetailType error);
 
  371MCNAPI 
void UpdateCodec(
 
  377MCNAPI 
void UpdateCodec(
 
  380    ::std::map<::std::string, ::std::string> 
const& parameters
 
  385MCNAPI 
void UpdateCodec(
 
  387    ::std::string_view                  name,
 
  396MCNAPI 
void UpdateRtpHeaderExtensionPreferencesFromSdpMunging(
 
  401MCNAPI 
void UpdateVideoCodecPacketization(
 
  404    ::std::string_view                  packetization
 
  407MCNAPI 
bool VP9IsSameProfile(
 
  408    ::std::map<::std::string, ::std::string> 
const& params1,
 
  409    ::std::map<::std::string, ::std::string> 
const& params2
 
  412MCNAPI 
bool ValidAlignment(uint64 alignment);
 
  416MCNAPI 
bool WriteDataChannelOpenMessage(
 
  417    ::std::string 
const&                label,
 
  418    ::std::string 
const&                protocol,
 
  419    ::std::optional<::webrtc::Priority> opt_priority,
 
  421    ::std::optional<int>                max_retransmits,
 
  422    ::std::optional<int>                max_retransmit_time,
 
  429WriteFmtpParameter(::std::string_view parameter_name, ::std::string_view parameter_value, 
::rtc::StringBuilder* os);
 
  431MCNAPI 
bool WriteFmtpParameters(::std::map<::std::string, ::std::string> 
const& parameters, 
::rtc::StringBuilder* os);
 
  433MCNAPI 
int WriteLeb128(uint64 value, uchar* 
buffer);
 
  445MCNAPI 
bool operator<(
 
  456MCNAPI 
bool operator==(
 
  461MCNAPI 
bool operator==(
 
  466MCNAPI 
bool operator==(
 
  471MCNAPI 
bool operator==(
 
  476MCNAPI 
bool operator==(
 
  481MCNAPI 
bool operator==(
 
  486MCNAPI 
bool operator==(
 
  491MCNAPI 
bool operator==(
 
  499MCNAPI ::std::add_lvalue_reference_t<char const[]> kBweTypeHistogram();
 
  501MCNAPI ::webrtc::DataRate 
const& kCongestionControllerMinBitrate();
 
  503MCNAPI 
double const& kDefaultBitratePriority();
 
  505MCNAPI ::std::add_lvalue_reference_t<char const[]> kVP9FmtpProfileId();
 
Definition AnyInvocable.h:8
Definition Candidate.h:15
Definition ContentInfo.h:12
Definition FeedbackParam.h:7
Definition FeedbackParams.h:12
Definition MediaContentDescription.h:23
Definition SessionDescription.h:18
Definition _HeaderOutputPredefine.h:264
Definition CopyOnWriteBuffer.h:11
Definition SocketAddress.h:12
Definition StringBuilder.h:7
Definition FieldTrialsView.h:7
Definition IceCandidateInterface.h:12
Definition JsepIceCandidate.h:16
Definition JsepSessionDescription.h:19
Definition RtpReceiverInterface.h:24
Definition RtpReceiverProxyWithInternal.h:8
Definition RtpSenderInterface.h:26
Definition RtpSenderProxyWithInternal.h:8
Definition RtpTransceiverProxyWithInternal.h:8
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition TransceiverList.h:18
Definition scoped_refptr.h:8
Definition DataChannelInit.h:7
Definition H264ProfileLevelId.h:7
Definition RtpParameters.h:7
Definition SdpParseError.h:7