Member Junction
    Preparing search index...

    What a realtime driver needs from an avatar's video player: VideoPlayout in a browser, a fake in tests.

    interface IAvatarVideoPlayout {
        CarriesVoice: boolean;
        FramesAhead: number;
        IsPlaying: boolean;
        Source: MediaVideoSource;
        Append(frame: RealtimeVideoFrame): void;
        Dispose(): void;
        EndOfTurn(): void;
        Flush(): void;
        OnProblem(
            handler: (problem: VideoPlayoutProblem, message: string) => void,
        ): () => void;
    }

    Implemented by

    Index

    Properties

    CarriesVoice: boolean

    Whether the element plays the media's audio; false mutes it.

    FramesAhead: number

    Where the playhead is, in frames: how many of the frames handed to Append are still to play (waiting, being decoded or appended, or buffered ahead of the playhead). A frame that was dropped, or that no decoder plays, is not counted. Frames play in the order they were handed over, so the frames ahead are the latest ones handed over, less any of those that were dropped: a driver that counts what it hands over can tell whether a given frame has played.

    IsPlaying: boolean

    Whether it plays forward with media buffered ahead of the playhead: the avatar is audibly speaking.

    The video to show. A driver hands it to the host once.

    Methods