supervision-js
    Preparing search index...

    Interface DecodedMediaSource

    interface DecodedMediaSource {
        setDisplay?: (display: MediaRendererDisplay) => Promise<boolean>;
        input: DisposableMediaInput;
        metadata: DecodedMediaSourceMetadata;
        sampleSink: DecodedVideoSampleSink;
        engine?: PresentedFrameChannel;
        frameClock?: MediaFrameClock;
        readFrameClock?: () => Promise<MediaFrameClock>;
        frameClockUnavailableReason?: string;
    }

    Hierarchy (View Summary)

    Index
    setDisplay?: (display: MediaRendererDisplay) => Promise<boolean>

    Reconfigure the existing presentation output; true means a replacement frame was delivered.

    A source that owns its own decode clock publishes one, and the renderer composites the frames it announces rather than asking sampleSink for a frame at a time the renderer chose. sampleSink stays required, and still serves thumbnails and one-off grabs.

    frameClock?: MediaFrameClock

    Exact timing when the source already owns a presentation frame index.

    readFrameClock?: () => Promise<MediaFrameClock>

    Reads the frame index on first call and reuses it after, for a source that can read one but does not keep it.

    frameClockUnavailableReason?: string

    Why this source has no frame index, for whatever asked for one.