Package-level declarations

Types

Link copied to clipboard
class AndroidDtmfSender(nativeSender: DtmfSender) : WebRtc.DtmfSender
Link copied to clipboard
class AndroidRtpParameters(nativeRtpParameters: RtpParameters) : WebRtc.RtpParameters
Link copied to clipboard
class AndroidRtpSender(nativeSender: RtpSender) : WebRtc.RtpSender
Link copied to clipboard
class AndroidWebRtcDataChannel(nativeChannel: DataChannel, channelInit: DataChannel.Init?, coroutineScope: CoroutineScope, receiveOptions: DataChannelReceiveOptions) : WebRtcDataChannel

WebRtc data channel implementation for the Android platform.

Link copied to clipboard
class AndroidWebRtcEngine(val config: AndroidWebRtcEngineConfig, mediaTrackFactory: MediaTrackFactory = config.mediaTrackFactory ?: AndroidMediaDevices(config.context ?: error("Context is required for AndroidWebRtcEngine"))) : WebRtcEngineBase, MediaTrackFactory
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
sealed interface DataChannelEvent

Events that can be emitted by a WebRTC data channel.

Link copied to clipboard

Configuration options for creating a Channel. This class is used to configure the incoming messages channel in WebRtcDataChannel.

Link copied to clipboard
class DefaultExceptionHandler(name: String) : CoroutineExceptionHandler

Default coroutine exception handler that logs all errors except of CancellationException.

Link copied to clipboard
class JsAudioTrack(nativeTrack: MediaStreamTrack) : JsMediaTrack, WebRtcMedia.AudioTrack
Link copied to clipboard
class JsDtmfSender(nativeSender: RTCDTMFSender) : WebRtc.DtmfSender

Wrapper for RTCRtpSender.

Link copied to clipboard
abstract class JsMediaTrack(nativeTrack: MediaStreamTrack) : WebRtcMedia.Track

Wrapper for MediaStreamTrack.

Link copied to clipboard
Link copied to clipboard
class JsRtpParameters(nativeRtpParameters: RTCRtpSendParameters) : WebRtc.RtpParameters

Wrapper for RTCRtpSendParameters.

Link copied to clipboard
class JsRtpSender(nativeSender: RTCRtpSender) : WebRtc.RtpSender

Wrapper for RTCRtpSender.

Link copied to clipboard
class JsVideoTrack(nativeTrack: MediaStreamTrack) : JsMediaTrack, WebRtcMedia.VideoTrack
Link copied to clipboard

Common WebRtc Engine factory interface for JS and WasmJS targets.

Link copied to clipboard
class JsWebRtcDataChannel(channel: RTCDataChannel, coroutineScope: CoroutineScope, receiveOptions: DataChannelReceiveOptions) : WebRtcDataChannel

WebRtc data channel implementation for the JavaScript platform.

Link copied to clipboard
class JsWebRtcEngine(config: JsWebRtcEngineConfig, mediaTrackFactory: MediaTrackFactory = config.mediaTrackFactory ?: NavigatorMediaDevices) : WebRtcEngineBase, MediaTrackFactory
Link copied to clipboard
Link copied to clipboard
class JsWebRtcPeerConnection(connection: RTCPeerConnection, coroutineContext: CoroutineContext, config: WebRtcConnectionConfig) : WebRtcPeerConnection

WebRtc peer connection implementation for JavaScript platform.

Link copied to clipboard

Factory interface for creating audio and video media tracks.

Link copied to clipboard

MediaTrackFactory based on browser Navigator MediaDevices.

Link copied to clipboard
sealed interface TrackEvent

Represents events related to media tracks in a WebRTC peer connection.

Link copied to clipboard
object WebRtc

An object containing WebRtc protocol entities and abstractions. Provides the core types and interfaces needed for WebRtc peer-to-peer communication.

Link copied to clipboard

A multiplatform asynchronous WebRtc client for establishing peer-to-peer connections, managing media tracks.

Link copied to clipboard

Client engine factory interface, used in engine implementations.

Link copied to clipboard
open class WebRtcConfig

Configuration for the WebRtc client.

Link copied to clipboard

Configuration for WebRtc connections.

Link copied to clipboard

Interface providing access to various events and state changes in a WebRTC peer connection.

Link copied to clipboard

Internal implementation of WebRtcConnectionEvents that emits events to flows.

Link copied to clipboard

Abstract class representing a network channel which can be used for bidirectional peer-to-peer transfers of arbitrary data. Every data channel is associated with an WebRtcPeerConnection.

Link copied to clipboard

Configuration options for creating a WebRTC data channel.

Link copied to clipboard

Core engine interface for WebRtc functionality.

Link copied to clipboard
abstract class WebRtcEngineBase(engineName: String, configuration: WebRtcConfig) : WebRtcEngine

Base implementation of the WebRtcEngine interface.

Link copied to clipboard
class WebRtcEngineClosedException : CancellationException

Exception used as a cancellation cause when WebRtcEngine coroutine context is closed.

Link copied to clipboard

An object containing Media Capture abstractions. Media Capturing is platform- and implementation-specific, so here we encapsulate only the essential parts for the WebRtc communication. The links describe the standard browser API, though some platforms could have different behaviors.

Link copied to clipboard

Abstract class representing a peer-to-peer connection.

Functions

Link copied to clipboard
fun WebRtc.DtmfSender.getNative(): DtmfSender

Returns implementation of the dtmf sender that is used under the hood. Use it with caution.

fun WebRtc.RtpParameters.getNative(): RtpParameters

Returns implementation of the rtp parameters that is used under the hood. Use it with caution.

fun WebRtc.RtpSender.getNative(): RtpSender

Returns implementation of the rtp sender that is used under the hood. Use it with caution.

fun WebRtcDataChannel.getNative(): DataChannel

Returns implementation of the data channel that is used under the hood. Use it with caution.

fun WebRtc.DtmfSender.getNative(): RTCDTMFSender

Returns implementation of the dtmf sender that is used under the hood. Use it with caution.

fun WebRtc.RtpParameters.getNative(): RTCRtpSendParameters

Returns implementation of the rtp parameters that is used under the hood. Use it with caution.

fun WebRtc.RtpSender.getNative(): RTCRtpSender

Returns implementation of the rtp sender that is used under the hood. Use it with caution.

fun WebRtcDataChannel.getNative(): RTCDataChannel

Returns implementation of the data channel that is used under the hood. Use it with caution.

fun WebRtcMedia.Track.getNative(): MediaStreamTrack

Returns implementation of the native media stream track used under the hood. Use it with caution.

fun WebRtcPeerConnection.getNative(): RTCPeerConnection

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

Link copied to clipboard

Creates a WebRtcClient with a specified engine.