supervision-js
    Preparing search index...

    Interface MediaSourceState

    Snapshot of the opened media source.

    interface MediaSourceState {
        status: MediaSourceStatus;
        canRead: boolean | null;
        formatName: string | null;
        formatMimeType: string | null;
        mimeType: string | null;
        duration: number | null;
        firstTimestamp: number | null;
        estimatedFrameRate: number | null;
        estimatedFrameCount: number | null;
        trackCount: number | null;
        videoTrackCount: number | null;
        audioTrackCount: number | null;
        primaryVideoWidth: number | null;
        primaryVideoHeight: number | null;
        errorMessage: string | null;
        errorKind?: MediaErrorKind | null;
    }
    Index
    canRead: boolean | null
    formatName: string | null
    formatMimeType: string | null
    mimeType: string | null
    duration: number | null
    firstTimestamp: number | null

    First playable presentation timestamp, when the source is ready.

    estimatedFrameRate: number | null

    Average video packet rate sampled while opening finite media.

    estimatedFrameCount: number | null

    Display estimate derived from duration and estimatedFrameRate.

    trackCount: number | null
    videoTrackCount: number | null
    audioTrackCount: number | null
    primaryVideoWidth: number | null
    primaryVideoHeight: number | null
    errorMessage: string | null
    errorKind?: MediaErrorKind | null

    Stable failure classification when status is Error, otherwise null.

    Prefer this over errorMessage for control flow. Messages are diagnostic text and may name vendor internals. Optional so state fixtures written against the previous shape stay assignable.