Skip to main content

Playback

AutoQualityLevel

Auto-selection quality target. Indicates the SFU should choose the layer dynamically based on network and decode conditions.

enum AutoQualityLevel {
Auto = 'auto-quality',
}

AutoScoreLevel

Auto-selection score levels — Default for system-managed selection, Auto for client-driven adaptive selection.

enum AutoScoreLevel {
Auto = 'auto:auto',
Default = 'auto:default',
}

SourceScoreLevel

Source-quality levels reported by the SFU when the original source is served directly without transcoding.

enum SourceScoreLevel {
High = 'source:high',
Low = 'source:low',
Medium = 'source:medium',
}

TranscodeScoreLevel

Transcode-output quality levels reported by the SFU. Each level corresponds to a specific layer of the transcoded encoding ladder.

enum TranscodeScoreLevel {
High = 'transcode:high',
Highest = 'transcode:highest',
Low = 'transcode:low',
Lowest = 'transcode:lowest',
Medium = 'transcode:medium',
MediumHigh = 'transcode:medium-high',
MediumLow = 'transcode:medium-low',
}

UserInteractionAPI

Tracks user-activation state for the document. Combines an event emitter over UserInteractionEvents with the Disposable contract; subscribers can wait for hadInteraction or check the current value directly.

interface UserInteractionAPI {
hadInteraction: boolean;
isDisposed: boolean;
}

BitrateLayer

Single bitrate layer reported as part of a Quality descriptor.

type BitrateLayer = {
appData?: Record<string, Json>;
bitrate: number;
encoding?: Encoding;
id: string | number;
isSource: boolean;
maxBitrate?: number;
}

FlvHttpDriverOptions

Input shape accepted by flvhttpDriverOptions before parsing.

type FlvHttpDriverOptions = input<query>
input

HlsjsDriverOptions

Input shape accepted by hlsjsDriverOptions before parsing.

type HlsjsDriverOptions = input<query>
input

ManifestOptions

Input shape accepted by manifestOptions before parsing.

type ManifestOptions = input<query>
input

MediaStreamDriverOptions

Input shape accepted by mediaStreamDriverOptions before parsing.

type MediaStreamDriverOptions = input<query>
input

NativeHlsDriverOptions

Input shape accepted by nativeHlsDriverOptions before parsing.

type NativeHlsDriverOptions = input<query>
input

PlayerAPI

Public-facing player API. Merges the canonical PlayerDefaultAPI with the legacy PlayerCompatAPI surface so existing call sites continue to type-check while new code can use the canonical surface directly.

interface PlayerAPI {
__events: PlayerAPIEvents;
autoPlay?: boolean;
availablePlayers: any[];
callBroadcast: CallAPI | literal;
canBroadcast: boolean;
consumerAudioEnabled: boolean;
consumerVideoEnabled: boolean;
currentPlayer: PlayerAPI | literal;
driverFailover: boolean;
isConnected: boolean;
isConnecting: boolean;
isDisposed: boolean;
localAudioMuted: boolean;
localAudioVolume: number;
localVideoPaused: boolean;
lowLatency: boolean;
lowPowerMode: boolean;
noConsumerAudioAndVideo: boolean;
streamName: string;
supportsLowLatency: boolean;
fullScreenHandlers: object;
}

PlayerAPIEvents

Event map emitted by a PlayerAPI instance. Each entry's value type describes the payload supplied to the listener.

type PlayerAPIEvents = {
attached: void;
blurred: boolean;
canplay: void;
detached: void;
drivers: string[];
duration: number;
durationchange: number;
dvr: void;
format: string | literal;
fullscreen: boolean;
hasAudio: boolean;
hasVideo: boolean;
muted: true | forced;
noDrivers: void;
paused: void;
playing: void;
position: number;
poster: string | literal;
preferredQuality: string | literal;
qualities: string[];
ready: boolean;
sourceMeta: Record<string, unknown>;
sourceRotation: number | literal;
unmuted: void;
videoFirstPlay: void;
volume: number;
}

PlayerCompatEvents

Event map emitted by the compatibility PlayerAPI. Combines the canonical player events with legacy event names retained for backwards compatibility.

type PlayerCompatEvents = {
attached: void;
blurred?: boolean;
callEnded: void;
consumerAudioEnabled: boolean;
consumerVideoEnabled: boolean;
currentPlayer: PlayerAPI | literal;
detached: void;
disposed: void;
driver: string;
driverFailover: boolean;
drivers: string[];
durationchange: number;
dvr: void;
error: Error;
forcedMute: boolean;
format: string | literal;
hasAudio: boolean;
hasVideo: boolean;
hostElementAttached: object;
implementation: void;
info: object;
isConnected: boolean;
isConnecting: boolean;
joinedCall: object;
localAudioMuted: boolean;
localAudioVolume: number;
localVideoPaused: boolean;
lowLatency: boolean;
manifest: object;
muted: true | forced;
noConsumerAudioAndVideo: boolean;
noDrivers: void;
paused: void;
peerAtCapacity: boolean;
playerAccessDenied: object;
playing: void;
poster: string | literal;
preferredQuality: string | literal;
progress: void;
qualities: string[];
restartDriver: object;
timeupdate: void;
unmuted: void;
videoCodecUnreceivable: object;
videoFirstPlay: void;
volume: number;
websocketReconnect: void;
}

PreferredLevel

Preferred-quality identifier accepted by the player. May be null to indicate no preference.

TranscodeScoreLevel | SourceScoreLevel | AutoScoreLevel | AutoQualityLevel | unknown

Quality

Quality descriptor combining a score level, the bitrate layer being delivered, and the encoding metadata.

type Quality = {
}

RequestPlayerOptions

Input shape accepted by playerOptions before parsing. Used by every public API that accepts player options.

type RequestPlayerOptions = input<query>
input

UserInteractionEvents

Event map emitted by a UserInteractionAPI instance. Subscribers receive a signal the first time the user interacts with the document.

type UserInteractionEvents = {
hadInteraction: boolean;
}

UserInteractionOptions

Input type for user interaction options. Accepts partial options where defaults will be applied.

type UserInteractionOptions = input<query>
input

WebrtcDriverOptions

Input shape accepted by webrtcDriverOptions before parsing.

type WebrtcDriverOptions = input<query>
input