MediaSFU Shared
    Preparing search index...

    Interface ViewerSessionProvider

    What your backend has to do. Only join is required — a provider that just hands back a playback URL is a valid provider, it simply cannot support promotion.

    interface ViewerSessionProvider {
        join(
            options: {
                roomName: string;
                displayName?: string;
                signal?: AbortSignal;
            },
        ): Promise<ViewerSessionIdentity>;
        heartbeat?(
            options: { session: ViewerSessionIdentity; signal?: AbortSignal },
        ): Promise<void>;
        requestPromotion?(
            options: { session: ViewerSessionIdentity; signal?: AbortSignal },
        ): Promise<void>;
        poll?(
            options: { session: ViewerSessionIdentity; signal?: AbortSignal },
        ): Promise<ViewerSessionStatus>;
        leave?(options: { session: ViewerSessionIdentity }): Promise<void>;
    }
    Index

    Methods

    • Parameters

      • options: { roomName: string; displayName?: string; signal?: AbortSignal }

      Returns Promise<ViewerSessionIdentity>

    • Keep the viewer counted as present.

      Parameters

      Returns Promise<void>

    • Raise a hand for the floor.

      Parameters

      Returns Promise<void>

    • Release the session.

      Parameters

      Returns Promise<void>