3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/cricket/ContentSource.h"
7#include "mc/external/cricket/MediaType.h"
8#include "mc/external/rtc/SSLRole.h"
9#include "mc/external/webrtc/AddIceCandidateResult.h"
10#include "mc/external/webrtc/CreateSessionDescriptionObserver.h"
11#include "mc/external/webrtc/PeerConnectionInterface.h"
12#include "mc/external/webrtc/RTCErrorOr.h"
13#include "mc/external/webrtc/RTCErrorType.h"
14#include "mc/external/webrtc/RtpTransceiverDirection.h"
15#include "mc/external/webrtc/RtpTransceiverProxyWithInternal.h"
16#include "mc/external/webrtc/SdpStateProvider.h"
17#include "mc/external/webrtc/SdpType.h"
18#include "mc/external/webrtc/SetLocalDescriptionObserverInterface.h"
19#include "mc/external/webrtc/SetRemoteDescriptionObserverInterface.h"
20#include "mc/external/webrtc/scoped_refptr.h"
24namespace cricket {
class AudioContentDescription; }
25namespace cricket {
class Candidate; }
26namespace cricket {
class ContentGroup; }
27namespace cricket {
class ContentInfo; }
28namespace cricket {
class MediaEngineInterface; }
29namespace cricket {
class PortAllocator; }
30namespace cricket {
class SessionDescription; }
31namespace cricket {
class VideoContentDescription; }
32namespace cricket {
struct MediaDescriptionOptions; }
33namespace cricket {
struct MediaSessionOptions; }
34namespace cricket {
struct StreamParams; }
35namespace rtc {
class Thread; }
36namespace webrtc {
class AudioTrackInterface; }
37namespace webrtc {
class ConnectionContext; }
38namespace webrtc {
class DataChannelController; }
39namespace webrtc {
class IceCandidateInterface; }
40namespace webrtc {
class JsepIceCandidate; }
41namespace webrtc {
class JsepTransportController; }
42namespace webrtc {
class MediaStreamInterface; }
43namespace webrtc {
class PeerConnectionSdpMethods; }
44namespace webrtc {
class RTCError; }
45namespace webrtc {
class RtpReceiverInternal; }
46namespace webrtc {
class RtpTransceiver; }
47namespace webrtc {
class RtpTransceiverInterface; }
48namespace webrtc {
class RtpTransmissionManager; }
49namespace webrtc {
class SessionDescriptionInterface; }
50namespace webrtc {
class SetSessionDescriptionObserver; }
51namespace webrtc {
class StreamCollection; }
52namespace webrtc {
class StreamCollectionInterface; }
53namespace webrtc {
class TransceiverList; }
54namespace webrtc {
class VideoTrackInterface; }
55namespace webrtc {
struct PeerConnectionDependencies; }
103 ::std::unique_ptr<::webrtc::SessionDescriptionInterface> desc,
105 ::std::function<
void()> operations_chain_callback
110 MCNAPI
void SetError(::webrtc::RTCErrorType type, ::std::string message);
122 ::std::unique_ptr<::webrtc::SessionDescriptionInterface> desc,
124 ::std::function<
void()> operations_chain_callback
230 enum class SessionError :
int {
309 virtual ::webrtc::PeerConnectionInterface::SignalingState signaling_state() const ;
330 virtual
bool NeedsIceRestart(::
std::
string const& content_name) const ;
333 virtual
bool IceRestartPending(::
std::
string const& content_name) const ;
336 virtual ::
std::optional<::rtc::SSLRole> GetDtlsRole(::
std::
string const& mid) const ;
349 MCNAPI ::webrtc::AddIceCandidateResult
362 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
374 ::webrtc::SdpType type,
376 ::cricket::ContentInfo const& content,
377 ::cricket::ContentInfo const* old_local_content,
378 ::cricket::ContentInfo const* old_remote_content
444 ::webrtc::RtpTransceiverDirection audio_direction,
445 ::webrtc::RtpTransceiverDirection video_direction,
446 ::
std::optional<uint64>* audio_index,
447 ::
std::optional<uint64>* video_index,
448 ::
std::optional<uint64>* data_index,
449 ::cricket::MediaSessionOptions* session_options
460 ::cricket::MediaSessionOptions* session_options
465 ::cricket::MediaSessionOptions* session_options
470 ::cricket::MediaSessionOptions* session_options
475 ::cricket::MediaSessionOptions* session_options
480 ::cricket::MediaSessionOptions* session_options
485 ::cricket::MediaSessionOptions* session_options
519 ::cricket::ContentInfo const* audio_content,
520 ::cricket::AudioContentDescription const* audio_desc,
521 ::cricket::ContentInfo const* video_content,
522 ::cricket::VideoContentDescription const* video_desc
534 ::webrtc::SdpType type,
536 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
568 ::webrtc::SdpType sdp_type,
582 ::
std::vector<::
std::
string> const& stream_ids,
619 ::cricket::ContentInfo const& content,
620 ::cricket::ContentGroup const* bundle_group
632 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
636 ::
std::vector<::cricket::StreamParams> const& streams,
637 bool default_sender_needed,
638 ::cricket::MediaType media_type,
643 ::webrtc::SdpType type,
645 ::cricket::SessionDescription const* description,
646 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
651 ::cricket::ContentInfo const& content,
652 ::cricket::ContentGroup const* bundle_group
660 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
670 ::
std::map<::
std::
string, ::cricket::ContentGroup const*> const& bundle_groups_by_mid
Definition AudioTrackInterface.h:18
Definition ConnectionContext.h:17
Definition CreateSessionDescriptionObserver.h:16
Definition DataChannelController.h:30
Definition IceCandidateInterface.h:12
Definition JsepIceCandidate.h:16
Definition JsepTransportController.h:50
Definition PeerConnectionInterface.h:44
Definition PeerConnectionSdpMethods.h:38
Definition RTCErrorOr.h:8
Definition RtpReceiverInternal.h:18
Definition RtpTransceiverInterface.h:22
Definition RtpTransceiverProxyWithInternal.h:8
Definition RtpTransceiver.h:37
Definition RtpTransmissionManager.h:40
Definition SdpOfferAnswerHandler.h:129
MCAPI void $OnSuccess(::webrtc::SessionDescriptionInterface *desc_ptr)
static MCAPI void ** $vftable()
MCAPI void $OnFailure(::webrtc::RTCError error)
Definition SdpOfferAnswerHandler.h:236
MCAPI void AppendIceCredentialsFromSessionDescription(::webrtc::SessionDescriptionInterface const &desc)
MCAPI bool SatisfiesIceRestart(::webrtc::SessionDescriptionInterface const &local_description) const
MCAPI void ClearIceCredentials()
Definition SdpOfferAnswerHandler.h:71
MCAPI void SetError(::webrtc::RTCErrorType type, ::std::string message)
MCAPI void SetAsSessionError()
MCAPI void SignalCompletion()
MCAPI bool HaveSessionError()
MCAPI RemoteDescriptionOperation(::webrtc::SdpOfferAnswerHandler *handler, ::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::webrtc::scoped_refptr<::webrtc::SetRemoteDescriptionObserverInterface > observer, ::std::function< void()> operations_chain_callback)
MCAPI bool UpdateChannels()
MCAPI void * $ctor(::webrtc::SdpOfferAnswerHandler *handler, ::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::webrtc::scoped_refptr<::webrtc::SetRemoteDescriptionObserverInterface > observer, ::std::function< void()> operations_chain_callback)
MCAPI bool MaybeRollback()
MCAPI void InvalidParam(::std::string message)
Definition SdpOfferAnswerHandler.h:180
static MCAPI void ** $vftableForSetLocalDescriptionObserverInterface()
MCAPI void OnSetDescriptionComplete(::webrtc::RTCError error)
static MCAPI void ** $vftableForSetRemoteDescriptionObserverInterface()
MCAPI void $OnSetLocalDescriptionComplete(::webrtc::RTCError error)
MCAPI void $OnSetRemoteDescriptionComplete(::webrtc::RTCError error)
Definition SdpOfferAnswerHandler.h:60
MCAPI char const * SessionErrorToString(::webrtc::SdpOfferAnswerHandler::SessionError error) const
MCAPI::webrtc::SessionDescriptionInterface const * $pending_local_description() const
MCAPI void SetAssociatedRemoteStreams(::webrtc::scoped_refptr<::webrtc::RtpReceiverInternal > receiver, ::std::vector<::std::string > const &stream_ids, ::std::vector<::webrtc::scoped_refptr<::webrtc::MediaStreamInterface > > *added_streams, ::std::vector<::webrtc::scoped_refptr<::webrtc::MediaStreamInterface > > *removed_streams)
MCAPI ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > > GetReceivingTransceiversOfType(::cricket::MediaType media_type)
MCAPI bool UseCandidate(::webrtc::IceCandidateInterface const *candidate)
MCAPI bool ShouldFireNegotiationNeededEvent(uint event_id)
MCAPI::webrtc::TransceiverList const * transceivers() const
MCAPI void AllocateSctpSids()
MCAPI void UpdateNegotiationNeeded()
MCAPI::webrtc::SessionDescriptionInterface const * $pending_remote_description() const
MCAPI void RemoveRecvDirectionFromReceivingTransceiversOfType(::cricket::MediaType media_type)
MCAPI void UpdateRemoteSendersList(::std::vector<::cricket::StreamParams > const &streams, bool default_sender_needed, ::cricket::MediaType media_type, ::webrtc::StreamCollection *new_streams)
MCAPI bool RemoveIceCandidates(::std::vector<::cricket::Candidate > const &candidates)
MCAPI bool ExpectSetRemoteDescription(::webrtc::SdpType type)
MCAPI::webrtc::AddIceCandidateResult AddIceCandidateInternal(::webrtc::IceCandidateInterface const *ice_candidate)
MCAPI ::webrtc::scoped_refptr<::webrtc::StreamCollectionInterface > remote_streams()
MCAPI void GetOptionsForPlanBOffer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI::webrtc::DataChannelController * data_channel_controller()
MCAPI void GetOptionsForUnifiedPlanAnswer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI bool CheckIfNegotiationIsNeeded()
MCAPI void RemoveSenders(::cricket::MediaType media_type)
MCAPI bool HasNewIceCredentials()
MCAPI void ApplyRemoteDescription(::std::unique_ptr<::webrtc::SdpOfferAnswerHandler::RemoteDescriptionOperation > operation)
MCAPI::webrtc::RTCError PushdownMediaDescription(::webrtc::SdpType type, ::cricket::ContentSource source, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI void DestroyMediaChannels()
MCAPI void * $ctor(::webrtc::PeerConnectionSdpMethods *pc, ::webrtc::ConnectionContext *context)
MCAPI void OnVideoTrackAdded(::webrtc::VideoTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI void OnOperationsChainEmpty()
MCAPI void OnAudioTrackRemoved(::webrtc::AudioTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI void SetRemoteDescription(::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::webrtc::scoped_refptr<::webrtc::SetRemoteDescriptionObserverInterface > observer)
MCAPI bool UpdatePayloadTypeDemuxingState(::cricket::ContentSource source, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI void CreateAnswer(::webrtc::CreateSessionDescriptionObserver *observer, ::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &options)
MCAPI void RemoveStoppedTransceivers()
MCAPI void SetSessionError(::webrtc::SdpOfferAnswerHandler::SessionError error, ::std::string const &error_desc)
MCAPI::cricket::MediaDescriptionOptions GetMediaDescriptionOptionsForActiveData(::std::string const &mid) const
MCAPI void AddLocalIceCandidate(::webrtc::JsepIceCandidate const *candidate)
MCAPI::webrtc::RTCError UpdateSessionState(::webrtc::SdpType type, ::cricket::ContentSource source, ::cricket::SessionDescription const *description, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI::webrtc::RTCError HandleLegacyOfferOptions(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &options)
static MCAPI void ** $vftable()
MCAPI bool AddIceCandidate(::webrtc::IceCandidateInterface const *ice_candidate)
MCAPI bool AddStream(::webrtc::MediaStreamInterface *local_stream)
MCAPI::std::string GetSessionErrorMsg()
MCAPI bool $NeedsIceRestart(::std::string const &content_name) const
MCAPI::webrtc::RTCError CreateChannels(::cricket::SessionDescription const &desc)
MCAPI::webrtc::SessionDescriptionInterface const * $remote_description() const
MCAPI void FillInMissingRemoteMids(::cricket::SessionDescription *new_remote_description)
MCAPI::webrtc::RtpTransmissionManager * rtp_manager()
MCAPI bool IsUnifiedPlan() const
MCAPI::cricket::PortAllocator * port_allocator()
MCAPI::webrtc::RTCError Rollback(::webrtc::SdpType desc_type)
MCAPI void OnAudioTrackAdded(::webrtc::AudioTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI void ChangeSignalingState(::webrtc::PeerConnectionInterface::SignalingState signaling_state)
MCAPI void DoSetRemoteDescription(::std::unique_ptr<::webrtc::SdpOfferAnswerHandler::RemoteDescriptionOperation > operation)
MCAPI ::webrtc::scoped_refptr<::webrtc::StreamCollectionInterface > local_streams()
MCAPI void RemoveUnusedChannels(::cricket::SessionDescription const *desc)
MCAPI void EnableSending()
MCAPI void GenerateNegotiationNeededEvent()
MCAPI ::std::optional<::rtc::SSLRole > $GetDtlsRole(::std::string const &mid) const
MCAPI ::std::optional< bool > is_caller() const
MCAPI bool $IceRestartPending(::std::string const &content_name) const
MCAPI void Initialize(::webrtc::PeerConnectionInterface::RTCConfiguration const &configuration, ::webrtc::PeerConnectionDependencies &dependencies, ::webrtc::ConnectionContext *context)
MCAPI void GetOptionsForPlanBAnswer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI void UpdateLocalSenders(::std::vector<::cricket::StreamParams > const &streams, ::cricket::MediaType media_type)
MCAPI void RemoveStream(::webrtc::MediaStreamInterface *local_stream)
MCAPI void DoSetLocalDescription(::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::webrtc::scoped_refptr<::webrtc::SetLocalDescriptionObserverInterface > observer)
MCAPI ::webrtc::RTCErrorOr< ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > > AssociateTransceiver(::cricket::ContentSource source, ::webrtc::SdpType type, uint64 mline_index, ::cricket::ContentInfo const &content, ::cricket::ContentInfo const *old_local_content, ::cricket::ContentInfo const *old_remote_content)
MCAPI void SetRemoteDescriptionPostProcess(bool was_answer)
MCAPI::webrtc::SessionDescriptionInterface const * $current_remote_description() const
MCAPI void ApplyRemoteDescriptionUpdateTransceiverState(::webrtc::SdpType sdp_type)
MCAPI bool UseCandidatesInRemoteDescription()
MCAPI::cricket::ContentInfo const * FindMediaSectionForTransceiver(::webrtc::RtpTransceiver const *transceiver, ::webrtc::SessionDescriptionInterface const *sdesc) const
MCAPI void PlanBUpdateSendersAndReceivers(::cricket::ContentInfo const *audio_content, ::cricket::AudioContentDescription const *audio_desc, ::cricket::ContentInfo const *video_content, ::cricket::VideoContentDescription const *video_desc)
MCAPI ::webrtc::RTCErrorOr<::cricket::ContentInfo const * > FindContentInfo(::webrtc::SessionDescriptionInterface const *description, ::webrtc::IceCandidateInterface const *candidate)
MCAPI void RemoveLocalIceCandidates(::std::vector<::cricket::Candidate > const &candidates)
MCAPI void GetOptionsForUnifiedPlanOffer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI::webrtc::RTCError PushdownTransportDescription(::cricket::ContentSource source, ::webrtc::SdpType type)
MCAPI void DoCreateAnswer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &options, ::webrtc::scoped_refptr<::webrtc::CreateSessionDescriptionObserver > observer)
MCAPI void OnVideoTrackRemoved(::webrtc::VideoTrackInterface *track, ::webrtc::MediaStreamInterface *stream)
MCAPI::webrtc::RTCError ValidateSessionDescription(::webrtc::SessionDescriptionInterface const *sdesc, ::cricket::ContentSource source, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI::webrtc::RTCError UpdateDataChannelTransport(::cricket::ContentSource source, ::cricket::ContentInfo const &content, ::cricket::ContentGroup const *bundle_group)
MCAPI void GetOptionsForOffer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI void GetOptionsForAnswer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &offer_answer_options, ::cricket::MediaSessionOptions *session_options)
MCAPI void ProcessRemovalOfRemoteTrack(::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > transceiver, ::std::vector<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface > > *remove_list, ::std::vector<::webrtc::scoped_refptr<::webrtc::MediaStreamInterface > > *removed_streams)
MCAPI::webrtc::PeerConnectionInterface::SignalingState $signaling_state() const
MCAPI bool ConfiguredForMedia() const
MCAPI::webrtc::JsepTransportController * transport_controller_n()
MCAPI void PrepareForShutdown()
MCAPI ::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > FindAvailableTransceiverToReceive(::cricket::MediaType media_type) const
MCAPI::webrtc::JsepTransportController const * transport_controller_s() const
MCAPI void UpdateEndedRemoteMediaStreams()
MCAPI bool ReadyToUseRemoteCandidate(::webrtc::IceCandidateInterface const *candidate, ::webrtc::SessionDescriptionInterface const *remote_desc, bool *valid)
MCAPI::webrtc::RTCError ApplyLocalDescription(::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI::webrtc::RTCError UpdateTransceiversAndDataChannels(::cricket::ContentSource source, ::webrtc::SessionDescriptionInterface const &new_session, ::webrtc::SessionDescriptionInterface const *old_local_description, ::webrtc::SessionDescriptionInterface const *old_remote_description, ::std::map<::std::string, ::cricket::ContentGroup const * > const &bundle_groups_by_mid)
MCAPI bool ExpectSetLocalDescription(::webrtc::SdpType type)
MCAPI void DoCreateOffer(::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &options, ::webrtc::scoped_refptr<::webrtc::CreateSessionDescriptionObserver > observer)
MCAPI::rtc::Thread * network_thread() const
MCAPI void RemoveRemoteStreamsIfEmpty(::std::vector<::webrtc::scoped_refptr<::webrtc::MediaStreamInterface > > const &remote_streams, ::std::vector<::webrtc::scoped_refptr<::webrtc::MediaStreamInterface > > *removed_streams)
MCAPI::webrtc::RTCError UpdateTransceiverChannel(::webrtc::scoped_refptr<::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > transceiver, ::cricket::ContentInfo const &content, ::cricket::ContentGroup const *bundle_group)
MCAPI::cricket::MediaEngineInterface * media_engine() const
MCAPI ::std::optional<::rtc::SSLRole > GuessSslRole() const
MCAPI::cricket::MediaDescriptionOptions GetMediaDescriptionOptionsForRejectedData(::std::string const &mid) const
MCAPI void SetLocalDescription(::webrtc::scoped_refptr<::webrtc::SetLocalDescriptionObserverInterface > observer)
MCAPI::webrtc::RTCError ReplaceRemoteDescription(::std::unique_ptr<::webrtc::SessionDescriptionInterface > desc, ::webrtc::SdpType sdp_type, ::std::unique_ptr<::webrtc::SessionDescriptionInterface > *replaced_description)
MCAPI void CreateOffer(::webrtc::CreateSessionDescriptionObserver *observer, ::webrtc::PeerConnectionInterface::RTCOfferAnswerOptions const &options)
MCAPI::webrtc::SessionDescriptionInterface const * $current_local_description() const
MCAPI void GenerateMediaDescriptionOptions(::webrtc::SessionDescriptionInterface const *session_desc, ::webrtc::RtpTransceiverDirection audio_direction, ::webrtc::RtpTransceiverDirection video_direction, ::std::optional< uint64 > *audio_index, ::std::optional< uint64 > *video_index, ::std::optional< uint64 > *data_index, ::cricket::MediaSessionOptions *session_options)
MCAPI::webrtc::SessionDescriptionInterface const * $local_description() const
MCAPI void AddUpToOneReceivingTransceiverOfType(::cricket::MediaType media_type)
Definition SdpStateProvider.h:16
Definition SessionDescriptionInterface.h:18
Definition SetLocalDescriptionObserverInterface.h:15
Definition SetRemoteDescriptionObserverInterface.h:15
Definition SetSessionDescriptionObserver.h:15
Definition StreamCollectionInterface.h:16
Definition StreamCollection.h:17
Definition TransceiverList.h:18
Definition VideoTrackInterface.h:20
Definition scoped_refptr.h:8
Definition ContentSource.h:5
Definition PeerConnectionDependencies.h:12