UNPKG

@100mslive/hls-player

Version:

HLS client library which uses HTML5 Video element and Media Source Extension for playback

50 lines (49 loc) 2.14 kB
import { HlsPlayerStats } from '@100mslive/hls-stats'; import { HMSHLSLayer } from './IHMSHLSLayer'; import { HMSHLSException } from '../error/HMSHLSException'; import { HLSPlaybackState, HMSHLSPlayerEvents } from '../utilies/constants'; declare type HMSHLSListenerDataMapping = { [HMSHLSPlayerEvents.SEEK_POS_BEHIND_LIVE_EDGE]: HMSHLSStreamLive; [HMSHLSPlayerEvents.TIMED_METADATA_LOADED]: HMSHLSCue; [HMSHLSPlayerEvents.STATS]: HlsPlayerStats; [HMSHLSPlayerEvents.PLAYBACK_STATE]: HMSHLSPlaybackState; [HMSHLSPlayerEvents.CAPTION_ENABLED]: boolean; [HMSHLSPlayerEvents.ERROR]: HMSHLSException; [HMSHLSPlayerEvents.CURRENT_TIME]: number; [HMSHLSPlayerEvents.AUTOPLAY_BLOCKED]: HMSHLSException; [HMSHLSPlayerEvents.MANIFEST_LOADED]: HMSHLSManifestLoaded; [HMSHLSPlayerEvents.LAYER_UPDATED]: HMSHLSLayerUpdated; }; export declare type HMSHLSPlayerListeners<E extends HMSHLSPlayerEvents> = (data: HMSHLSListenerDataMapping[E], name: E) => void; export interface HMSHLSStreamLive { isLive: boolean; } export interface HMSHLSPlaybackState { state: HLSPlaybackState; } export interface HMSHLSCue { id?: string; payload: string; duration: number; startDate: Date; endDate?: Date; } export interface HMSHLSManifestLoaded { layers: HMSHLSLayer[]; } export interface HMSHLSLayerUpdated { layer: HMSHLSLayer; } export interface IHMSHLSPlayerEventEmitter { on<E extends HMSHLSPlayerEvents>(eventName: E, listener: HMSHLSPlayerListeners<E>): void; off<E extends HMSHLSPlayerEvents>(eventName: E, listener?: HMSHLSPlayerListeners<E>): void; } export declare class HMSHLSPlayerEventEmitter implements IHMSHLSPlayerEventEmitter { private eventEmitter; constructor(); on<E extends HMSHLSPlayerEvents>(eventName: E, listener: HMSHLSPlayerListeners<E>): void; off<E extends HMSHLSPlayerEvents>(eventName: E, listener: HMSHLSPlayerListeners<E>): void; emitEvent<E extends HMSHLSPlayerEvents>(eventName: E, eventObject: Parameters<HMSHLSPlayerListeners<E>>[0]): boolean; removeAllListeners<E extends HMSHLSPlayerEvents>(eventName?: E): void; } export {};