UNPKG

@exmg/livery

Version:

Ex Machina Group Livery Web SDK.

55 lines (54 loc) 1.79 kB
import { Engine, EngineOptions } from './Engine'; /** * HTMLMediaElement extended with getStartDate() method which is available in Safari. * * @see https://developer.apple.com/documentation/webkitjs/htmlmediaelement */ interface ExtendedHTMLMediaElement extends HTMLMediaElement { /** * Returns the media start date. * E.g: Based on #EXT-X-PROGRAM-DATE-TIME in playlist of a live HLS stream. */ getStartDate?: () => Date | null; } /** * LiveryPlayer Engine using a standard browser HTMLVideoElement. * * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement */ export declare class VideoElementEngine extends Engine { static engineName: string; media: ExtendedHTMLMediaElement; /** * Last zeroTime emitted. */ protected lastZeroTime: number; constructor(options: EngineOptions); static canPlay(type: string): boolean; /** * Dispose VideoElementEngine. */ dispose(): void; init(): void; isLive(): boolean; reload(): void; selectAudioQuality(): void; selectVideoQuality(): void; setSource(sourceUrl: string): void; /** * Emit zerotime event when specified value differs from last value by more than specified threshold. * @param zeroTime Zero time in milliseconds since January 1, 1970 00:00:00 UTC * @param threshold Threshold in milliseconds */ protected emitZeroTime(zeroTime: number, threshold?: number): void; /** * Reset state, e.g: before (re)loading sourceUrl. */ protected reset(): void; /** * Gets and emits media zero time if supported by browser and media. * E.g: When Safari is playing back a live HLS stream with program date time data. */ protected updateZeroTime(): void; } export {};