supervision-js
    Preparing search index...

    Interface EngineReadySnapshot

    Snapshot delivered through the onReady lifecycle callback exactly once per loaded source after metadata resolves.

    interface EngineReadySnapshot {
        durationMs: number;
        nativeFps: Fps | null;
        naturalWidth: number;
        naturalHeight: number;
        firstTimestampMs: number;
        codec: string | null;
        canDecode: boolean;
        timeline: FrameTimelineData;
        byteSource?: SourceKind;
    }

    Hierarchy (View Summary)

    Index
    durationMs: number
    nativeFps: Fps | null
    naturalWidth: number
    naturalHeight: number
    firstTimestampMs: number

    Media time of the first sample, ms. Non-zero on trimmed/offset sources, where an annotation timeline that assumes 0 drifts by exactly this.

    codec: string | null
    canDecode: boolean

    Every real frame of the source, by its container tick timestamp. A host holding this can name any position the engine publishes, and can resolve one of its own pointer positions to a frame without asking.

    byteSource?: SourceKind

    The kind of reader the demuxer was opened over, recorded once the open succeeded. A host knows what it asked for; only the engine knows what it got, and the three kinds differ in what they can do afterwards — a stream cannot be rewound or reopened, and only a URL is fetched.