JsWebRtcPeerConnection

class JsWebRtcPeerConnection(connection: RTCPeerConnection, coroutineContext: CoroutineContext, config: WebRtcConnectionConfig) : WebRtcPeerConnection(source)

WebRtc peer connection implementation for JavaScript platform.

Parameters

connection

The native RTCPeerConnection object.

Constructors

Link copied to clipboard
constructor(connection: RTCPeerConnection, coroutineContext: CoroutineContext, config: WebRtcConnectionConfig)

Properties

Link copied to clipboard
open override val dataChannelEvents: SharedFlow<DataChannelEvent>
Link copied to clipboard
open override val iceCandidates: SharedFlow<WebRtc.IceCandidate>
Link copied to clipboard
open override val iceConnectionState: StateFlow<WebRtc.IceConnectionState>
Link copied to clipboard
open override val iceGatheringState: StateFlow<WebRtc.IceGatheringState>
Link copied to clipboard
Link copied to clipboard
open override val negotiationNeeded: SharedFlow<Unit>
Link copied to clipboard
Link copied to clipboard
open override val signalingState: StateFlow<WebRtc.SignalingState>
Link copied to clipboard
open override val state: StateFlow<WebRtc.ConnectionState>
Link copied to clipboard
open override val stats: StateFlow<List<WebRtc.Stats>>
Link copied to clipboard
open override val trackEvents: SharedFlow<TrackEvent>

Functions

Link copied to clipboard
open suspend override fun addIceCandidate(candidate: WebRtc.IceCandidate)
Link copied to clipboard
open suspend override fun addTrack(track: WebRtcMedia.Track): WebRtc.RtpSender
Link copied to clipboard
Link copied to clipboard
open override fun close()
Link copied to clipboard
open suspend override fun createAnswer(): WebRtc.SessionDescription
Link copied to clipboard
open suspend override fun createDataChannel(label: String, options: WebRtcDataChannelOptions.() -> Unit): WebRtcDataChannel
Link copied to clipboard
open suspend override fun createOffer(): WebRtc.SessionDescription
Link copied to clipboard
fun WebRtcPeerConnection.getNative(): RTCPeerConnection

Returns implementation of the peer connection that is used under the hood. Use it with caution.

Link copied to clipboard
open suspend override fun getStatistics(): List<WebRtc.Stats>
Link copied to clipboard
open suspend override fun removeTrack(sender: WebRtc.RtpSender)
open suspend override fun removeTrack(track: WebRtcMedia.Track)
Link copied to clipboard
open override fun restartIce()
Link copied to clipboard
open suspend override fun setLocalDescription(description: WebRtc.SessionDescription)
Link copied to clipboard
open suspend override fun setRemoteDescription(description: WebRtc.SessionDescription)