UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

36 lines (30 loc) 1.13 kB
import type { HespLatencies, TheoLiveAPI } from 'react-native-theoplayer'; import type { ChromelessPlayer } from 'theoplayer'; export class TheoLiveWebAdapter implements TheoLiveAPI { constructor(private _player: ChromelessPlayer) {} get currentLatency(): Promise<number> { const currentLatency = this._player.latency.currentLatency; return currentLatency ? Promise.resolve(currentLatency) : Promise.reject<number>('latency not available'); } get latencies(): Promise<HespLatencies> { const webLatencies = this._player.hesp?.latencies; if (webLatencies) { return Promise.resolve({ engineLatency: webLatencies?.engine, distributionLatency: webLatencies?.distribution, playerLatency: webLatencies?.player, theoliveLatency: webLatencies?.theolive, }); } else { return Promise.reject<HespLatencies>('latencies not available'); } } set authToken(token: string) { if (this._player.theoLive) { this._player.theoLive.authToken = token; } } get authToken(): string | undefined { return this._player.theoLive?.authToken; } }