@byomakase/omakase-player
    Preparing search index...

    Interface SidecarVideoDomController

    Owns sidecar video element and everything needed for its playback. Sidecar video element is mounted into host element.

    interface SidecarVideoDomController {
        bufferedTimeRanges: BufferedTimeRange[];
        videoElement: HTMLVideoElement;
        visible: boolean;
        destroy(): void;
        loadDuration(url: string | undefined): Observable<number>;
        loadSource(url: string | undefined, startTime?: number): Observable<void>;
        release(): void;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    bufferedTimeRanges: BufferedTimeRange[]
    videoElement: HTMLVideoElement
    visible: boolean

    Sidecar video element visibility. Hidden element keeps its layout box, so it's not painted but keeps its size (hls.js level capping relies on it) and becomes visible without re-layout.

    Methods

    • Resolves source duration without loading media data, so no frame is decoded. Video element is left without source.

      • MP4 - only metadata is loaded
      • HLS - only playlists are fetched, duration is sum of media playlist segment durations

      Parameters

      • url: string | undefined

        Source url

      Returns Observable<number>

    • Loads source into sidecar video element, completes when media data and metadata are loaded.

      Parameters

      • url: string | undefined

        Source url

      • OptionalstartTime: number

        Sidecar time loading should start from, so the first fetched data is the one that will be played. Defaults to 0.

      Returns Observable<void>