UNPKG

bitmovin-player-ui

Version:
40 lines (32 loc) 1.28 kB
import { PlayerAPI, PlayerEvent, PlayerEventBase, PlayerEventCallback } from 'bitmovin-player'; import { WrappedPlayer } from '../UIManager'; import type { PlayerEventMap } from 'bitmovin-player/types/core/Events'; export enum MobileV3PlayerEvent { SourceError = 'sourceerror', PlayerError = 'playererror', PlaylistTransition = 'playlisttransition', } export interface MobileV3PlayerErrorEvent extends PlayerEventBase { code: number; message: string; } export interface MobileV3SourceErrorEvent extends PlayerEventBase { code: number; message: string; } export type MobileV3PlayerEventType = PlayerEvent | MobileV3PlayerEvent; export interface MobileV3PlayerAPI extends PlayerAPI { on<T extends PlayerEvent>(eventType: T, callback: PlayerEventCallback<T>): void; on<T extends MobileV3PlayerEvent>(eventType: T, callback: (event: PlayerEventBase) => void): void; exports: PlayerAPI['exports'] & { PlayerEvent: MobileV3PlayerEventType }; } export function isMobileV3PlayerAPI( player: WrappedPlayer | PlayerAPI | MobileV3PlayerAPI, ): player is MobileV3PlayerAPI { for (const key in MobileV3PlayerEvent) { if (MobileV3PlayerEvent.hasOwnProperty(key) && !player.exports.PlayerEvent.hasOwnProperty(key)) { return false; } } return true; }