Calls & Peers
CallAPI
Public API for a single call. Combines an event emitter over CallEvents with the Disposable contract and exposes the peers, broadcasts, and moderation actions a call host needs.
interface CallAPI {id: string;isDisposed: boolean;isOwner: boolean;state: active | closed | stall | error;}
PeerAPI
Represents a remote connected user within a CallAPI. Exposes the peer's streams and identity, and emits per-stream and per-player events.
interface PeerAPI {appData: Record<string, unknown>;displayName?: string;isDisposed: boolean;peerId?: string;userId?: string;}
ProducerStats
Producer statistics reported periodically by the SFU for an outbound media track.
interface ProducerStats {bitrate: number;frames: number;height: number;nowMS?: number;ssrx?: number;width: number;}
VideoCodecGapInfo
The video-codec NEGOTIATION GAP for a call, computed once after the mediasoup
Device.load. unreceivable lists the router VIDEO codecs (non-rtx) this
browser's WebRTC stack did NOT negotiate as receivable (e.g. Safari cannot
receive H264 Main/High); negotiated lists the device's negotiated video
profiles. unreceivable empty = no gap.
interface VideoCodecGapInfo {negotiated: object[];unreceivable: object[];}
CallEvents
Event map emitted by a CallAPI instance. Each entry's value type describes the payload supplied to the listener.
type CallEvents = {accessDenied: object;callClosed: object;callEnded: void;callId: object;callJoinEndpoint: void;callReady: boolean;disposed: void;error: Error;isConnected: boolean;isConnecting: boolean;peerAdded: object;peerAtCapacity: boolean;peerRemoved: object;playerAdded: object;playerRemoved: object;sfuConnection: void;streamAdded: object;streamRemoved: object;transportStateChange: object;videoConsumer: void;viewerKicked: void;websocketReconnect: void;zeroBitrate: indexedAccess;}
CallOptions
Input shape accepted by callOptionsSchema before parsing — fields with defaults are still optional here.
type CallOptions = input<query>
DominantSpeaker
Dominant-speaker payload inferred from DominantSpeakerSchema.
type DominantSpeaker = TypeOf<query>
PeerEvents
Event map emitted by a PeerAPI instance.
type PeerEvents = {accessDenied: object;disposed: void;error: Error;playerAdded: object;playerRemoved: object;streamAdded: object;streamRemoved: object;videoConsumer: void;}
SFUJoinOptions
SFU join options inferred from SFUJoinOptionsSchema.
type SFUJoinOptions = TypeOf<query>
SFUUser
Parsed SFU user inferred from sfuUserSchema.
type SFUUser = TypeOf<query>