supervision-js
    Preparing search index...

    Interface PresentedVideoFrame

    One frame a push-based media producer has decided is on screen, carrying the frame it is and the media time it stands for. Whoever receives it owns it and must close it.

    interface PresentedVideoFrame {
        frameId: PresentedFrameId;
        paintSeq: number;
        mediaTimeS: number;
        frame: VideoFrame;
        rotation?: 0 | 90 | 180 | 270;
        acknowledgePresentation?: () => void;
    }
    Index
    paintSeq: number

    The producer's count of the paints it has made, which is what its own diagnostics name a paint by. Two paints of one frame carry different numbers, so this is the only key that joins a frame the renderer drew to the paint the producer recorded making.

    mediaTimeS: number

    The producer's seconds for frameId. The producer also states the position in milliseconds, and this deliberately does not carry it: that value is the seconds scaled by a thousand, so dividing it back is not the identity, and on a container whose tick grain is not whole milliseconds, an NTSC 30000/1001 track among them, the result names no frame at all.

    frame: VideoFrame
    rotation?: 0 | 90 | 180 | 270

    Clockwise display-matrix turn still owed by the decoded pixels. Canvas frames that a producer already oriented report 0. Omitted remains upright for producers written before this field existed.

    acknowledgePresentation?: () => void

    Present when the producer distinguishes frame delivery from display.