MediaSFU Shared
    Preparing search index...

    Interface HeadlessParameters

    The MediaSFU parameter bag.

    This is the object handed to updateSourceParameters. Every field on it is a snapshot of an internal ref (allVideoStreams.current, localStreamVideo.current, …) taken at publish time, and the SDK reassigns those refs rather than mutating them — so a bag you hold onto goes stale as soon as a producer or consumer changes. Always read from the most recent publication.

    interface HeadlessParameters {
        roomName?: string;
        member?: string;
        islevel?: string;
        validated?: boolean;
        socket?: any;
        localSocket?: any;
        device?: { loaded?: boolean; [key: string]: any };
        participants?: Participant[];
        participantsAll?: Participant[];
        allVideoStreams?: (Participant | Stream)[];
        allAudioStreams?: (Participant | Stream)[];
        oldAllStreams?: (Participant | Stream)[];
        audioOnlyStreams?: any[];
        translationStreams?: any[];
        localStream?: MediaStream | null;
        localStreamVideo?: MediaStream | null;
        localStreamAudio?: MediaStream | null;
        localStreamScreen?: MediaStream | null;
        virtualStream?: MediaStream | null;
        keepBackground?: boolean;
        audioAlreadyOn?: boolean;
        videoAlreadyOn?: boolean;
        remoteScreenStream?:
            | (Participant | Stream)[]
            | { stream?: MediaStream }
            | null;
        shareScreenStarted?: boolean;
        shared?: boolean;
        messages?: any[];
        coHost?: string;
        coHostResponsibility?: any[];
        chatSetting?: string;
        showAlert?: (options: any) => void;
        audioLevel?: number;
        audioDecibels?: { name: string; averageLoudness: number }[];
        getUpdatedAllParams?: () => any;
        getCurrentParams?: () => any;
        getParticipantMedia?: (...args: any[]) => Promise<MediaStream | null>;
        getMediaDevicesList?: (
            kind: "audioinput" | "videoinput",
        ) => Promise<MediaDeviceInfo[]>;
        updateAutoWave?: (value: boolean) => void;
        hlsUrl?: string;
        hlsPlaybackUrl?: string;
        playbackUrl?: string;
        whepUrl?: string;
        whepPlaybackUrl?: string;
        [key: string]: any;
    }

    Indexable

    • [key: string]: any
    Index

    Properties

    roomName?: string
    member?: string
    islevel?: string
    validated?: boolean
    socket?: any
    localSocket?: any
    device?: { loaded?: boolean; [key: string]: any }
    participants?: Participant[]
    participantsAll?: Participant[]
    allVideoStreams?: (Participant | Stream)[]
    allAudioStreams?: (Participant | Stream)[]
    oldAllStreams?: (Participant | Stream)[]
    audioOnlyStreams?: any[]
    translationStreams?: any[]
    localStream?: MediaStream | null
    localStreamVideo?: MediaStream | null
    localStreamAudio?: MediaStream | null
    localStreamScreen?: MediaStream | null
    virtualStream?: MediaStream | null
    keepBackground?: boolean
    audioAlreadyOn?: boolean
    videoAlreadyOn?: boolean
    remoteScreenStream?: (Participant | Stream)[] | { stream?: MediaStream } | null
    shareScreenStarted?: boolean
    shared?: boolean
    messages?: any[]
    coHost?: string
    coHostResponsibility?: any[]
    chatSetting?: string
    showAlert?: (options: any) => void
    audioLevel?: number
    audioDecibels?: { name: string; averageLoudness: number }[]
    getUpdatedAllParams?: () => any

    Republishes as a side effect — prefer getCurrentParams.

    getCurrentParams?: () => any

    Pure read of the current bag. No republish.

    getParticipantMedia?: (...args: any[]) => Promise<MediaStream | null>
    getMediaDevicesList?: (
        kind: "audioinput" | "videoinput",
    ) => Promise<MediaDeviceInfo[]>
    updateAutoWave?: (value: boolean) => void
    hlsUrl?: string

    Server-provided playback URLs, when the room has them provisioned.

    Unlike WebRTC media these are never consumed automatically — see getPlaybackSources/attachPlayback. Absence means the room has no HLS or WHEP egress, not an error.

    hlsPlaybackUrl?: string
    playbackUrl?: string
    whepUrl?: string
    whepPlaybackUrl?: string