3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/ChannelInterface.h"
7#include "mc/external/webrtc/MediaChannelNetworkInterface.h"
8#include "mc/external/webrtc/RtpPacketSinkInterface.h"
9#include "mc/external/webrtc/SdpType.h"
10#include "mc/external/webrtc/Socket.h"
21namespace webrtc {
class Thread; }
72 BaseChannel& operator=(BaseChannel
const&);
73 BaseChannel(BaseChannel
const&);
79 virtual ~BaseChannel() ;
81 virtual ::std::string
const& mid()
const ;
83 virtual ::std::string_view transport_name()
const ;
87 virtual bool SetLocalContent(
89 ::webrtc::SdpType type,
90 ::std::string& error_desc
93 virtual bool SetRemoteContent(
95 ::webrtc::SdpType type,
96 ::std::string& error_desc
99 virtual bool SetPayloadTypeDemuxingEnabled(
bool enabled) ;
101 virtual void Enable(
bool enable) ;
103 virtual ::std::vector<::webrtc::StreamParams>
const& local_streams()
const ;
105 virtual ::std::vector<::webrtc::StreamParams>
const& remote_streams()
const ;
107 virtual void SetFirstPacketReceivedCallback(::std::function<
void()> callback) ;
109 virtual void SetFirstPacketSentCallback(::std::function<
void()> callback) ;
111 virtual int SetOption(
112 ::webrtc::MediaChannelNetworkInterface::SocketType type,
113 ::webrtc::Socket::Option opt,
119 virtual ::webrtc::VideoMediaSendChannelInterface* video_media_send_channel() ;
121 virtual ::webrtc::VoiceMediaSendChannelInterface* voice_media_send_channel() ;
123 virtual ::webrtc::VideoMediaReceiveChannelInterface* video_media_receive_channel() ;
125 virtual ::webrtc::VoiceMediaReceiveChannelInterface* voice_media_receive_channel() ;
133 virtual void UpdateMediaSendRecvState_w() = 0;
135 virtual bool SetLocalContent_w(
137 ::webrtc::SdpType type,
138 ::std::string& error_desc
141 virtual bool SetRemoteContent_w(
143 ::webrtc::SdpType type,
144 ::std::string& error_desc
155 ::std::unique_ptr<::webrtc::MediaSendChannelInterface> send_media_channel_impl,
156 ::std::unique_ptr<::webrtc::MediaReceiveChannelInterface> receive_media_channel_impl,
157 ::std::string_view mid,
175 ::std::optional<::std::vector<::webrtc::RtpExtension>> extensions,
176 ::std::string& error_desc
187 ::std::vector<::webrtc::StreamParams>
const& streams,
188 ::webrtc::SdpType type,
189 ::std::string& error_desc
194 ::webrtc::SdpType type,
195 ::std::string& error_desc
208 ::std::unique_ptr<::webrtc::MediaSendChannelInterface> send_media_channel_impl,
209 ::std::unique_ptr<::webrtc::MediaReceiveChannelInterface> receive_media_channel_impl,
210 ::std::string_view mid,
226 MCNAPI ::std::string
const&
$mid()
const;
234 ::webrtc::SdpType type,
235 ::std::string& error_desc
240 ::webrtc::SdpType type,
241 ::std::string& error_desc
257 $SetOption(::webrtc::MediaChannelNetworkInterface::SocketType type, ::webrtc::Socket::Option opt,
int value);
MCAPI bool $SetRemoteContent(::webrtc::MediaContentDescription const *content, ::webrtc::SdpType type, ::std::string &error_desc)
MCAPI bool ConnectToRtpTransport_n()
MCAPI ::std::vector<::webrtc::StreamParams > const & $local_streams() const
MCAPI void $Enable(bool enable)
MCAPI bool $SendRtcp(::webrtc::CopyOnWriteBuffer *packet, ::webrtc::AsyncSocketPacketOptions const &options)
MCAPI bool $SendPacket(::webrtc::CopyOnWriteBuffer *packet, ::webrtc::AsyncSocketPacketOptions const &options)
MCAPI bool srtp_active() const
MCAPI void $OnRtpPacket(::webrtc::RtpPacketReceived const &parsed_packet)
MCAPI int $SetOption(::webrtc::MediaChannelNetworkInterface::SocketType type, ::webrtc::Socket::Option opt, int value)
MCAPI void DisableMedia_w()
MCAPI::webrtc::VoiceMediaReceiveChannelInterface * $voice_media_receive_channel()
MCAPI bool $SetRtpTransport(::webrtc::RtpTransportInternal *rtp_transport)
static MCAPI void ** $vftableForMediaChannelNetworkInterface()
static MCAPI void ** $vftableForRtpPacketSinkInterface()
MCAPI BaseChannel(::webrtc::TaskQueueBase *worker_thread, ::webrtc::Thread *network_thread, ::webrtc::TaskQueueBase *signaling_thread, ::std::unique_ptr<::webrtc::MediaSendChannelInterface > send_media_channel_impl, ::std::unique_ptr<::webrtc::MediaReceiveChannelInterface > receive_media_channel_impl, ::std::string_view mid, bool srtp_required, ::webrtc::CryptoOptions crypto_options, ::webrtc::UniqueRandomIdGenerator *ssrc_generator)
MCAPI bool $SetLocalContent(::webrtc::MediaContentDescription const *content, ::webrtc::SdpType type, ::std::string &error_desc)
MCAPI bool UpdateRemoteStreams_w(::webrtc::MediaContentDescription const *content, ::webrtc::SdpType type, ::std::string &error_desc)
MCAPI::webrtc::VoiceMediaSendChannelInterface * $voice_media_send_channel()
MCAPI::std::string const & $mid() const
MCAPI bool MaybeAddHandledPayloadType(int payload_type)
MCAPI::std::string_view $transport_name() const
MCAPI::webrtc::VideoMediaReceiveChannelInterface * $video_media_receive_channel()
MCAPI bool MaybeUpdateDemuxerAndRtpExtensions_w(bool update_demuxer, ::std::optional<::std::vector<::webrtc::RtpExtension > > extensions, ::std::string &error_desc)
MCAPI::std::string ToString() const
MCAPI void ChannelNotWritable_n()
MCAPI bool SendPacket(bool rtcp, ::webrtc::CopyOnWriteBuffer *packet, ::webrtc::AsyncSocketPacketOptions const &options)
MCAPI ::std::vector<::webrtc::StreamParams > const & $remote_streams() const
MCAPI void * $ctor(::webrtc::TaskQueueBase *worker_thread, ::webrtc::Thread *network_thread, ::webrtc::TaskQueueBase *signaling_thread, ::std::unique_ptr<::webrtc::MediaSendChannelInterface > send_media_channel_impl, ::std::unique_ptr<::webrtc::MediaReceiveChannelInterface > receive_media_channel_impl, ::std::string_view mid, bool srtp_required, ::webrtc::CryptoOptions crypto_options, ::webrtc::UniqueRandomIdGenerator *ssrc_generator)
MCAPI bool RegisterRtpDemuxerSink_w()
MCAPI void $SetFirstPacketReceivedCallback(::std::function< void()> callback)
MCAPI::webrtc::VideoMediaSendChannelInterface * $video_media_send_channel()
MCAPI void $SetFirstPacketSentCallback(::std::function< void()> callback)
MCAPI void ChannelWritable_n()
MCAPI bool UpdateLocalStreams_w(::std::vector<::webrtc::StreamParams > const &streams, ::webrtc::SdpType type, ::std::string &error_desc)
static MCAPI void ** $vftableForChannelInterface()
MCAPI bool $SetPayloadTypeDemuxingEnabled(bool enabled)
Definition ChannelInterface.h:26
Definition CopyOnWriteBuffer.h:11
Definition MediaContentDescription.h:20
Definition RtpPacketReceived.h:16
Definition RtpPacketSinkInterface.h:12
Definition RtpTransportInternal.h:21
Definition TaskQueueBase.h:16
Definition UniqueRandomIdGenerator.h:7
Definition AsyncSocketPacketOptions.h:10
Definition CryptoOptions.h:12
Definition RtpExtension.h:7
Definition StreamParams.h:12