WebRtcConnectionEventsEmitter

Internal implementation of WebRtcConnectionEvents that emits events to flows.

This class maintains the mutable flows and provides methods to emit events from platform-specific WebRTC implementations.

Constructors

Link copied to clipboard
constructor(config: WebRtcConnectionConfig)

Properties

Link copied to clipboard
open override val dataChannelEvents: SharedFlow<DataChannelEvent>

Flow of newly added connection dataChannels, as a result of the remote peer calling WebRtcPeerConnection.createDataChannel.

Link copied to clipboard
open override val iceCandidates: SharedFlow<WebRtc.IceCandidate>

Flow of ICE candidates generated by this peer connection.

Link copied to clipboard
open override val iceConnectionState: StateFlow<WebRtc.IceConnectionState>

Flow of ICE connection state changes.

Link copied to clipboard
open override val iceGatheringState: StateFlow<WebRtc.IceGatheringState>

Flow of ICE gathering state changes.

Link copied to clipboard
open override val negotiationNeeded: SharedFlow<Unit>

Sets a callback to be invoked when negotiation (offer-answer exchange, etc.) is needed for this connection.

Link copied to clipboard
open override val signalingState: StateFlow<WebRtc.SignalingState>

Flow of signaling state changes.

Link copied to clipboard
open override val state: StateFlow<WebRtc.ConnectionState>

Flow of connection state changes.

Link copied to clipboard
open override val stats: StateFlow<List<WebRtc.Stats>>

Flow of connection statistics.

Link copied to clipboard
open override val trackEvents: SharedFlow<TrackEvent>

Flow of events on a media track (e.g., add, remove).

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard