UNPKG

playable

Version:

Video player based on HTML5Video

50 lines (37 loc) 998 B
import playerAPI from '../../../core/player-api-decorator'; import { IPlaybackEngine } from '../../playback-engine/types'; import { getAt } from './adapter'; import { IPreviewAPI, IPreviewService, IFramesData, INormalizedFramesQuality, } from './types'; class PreviewService implements IPreviewService { static moduleName = 'previewService'; static dependencies = ['engine']; private _engine: IPlaybackEngine; private _framesMap: IFramesData; constructor({ engine }: { engine: IPlaybackEngine }) { this._engine = engine; } @playerAPI() setFramesMap(map: IFramesData) { this._framesMap = map; } getAt(second: number): INormalizedFramesQuality[] { if (!this._framesMap) { return; } const duration = this._engine.getDuration(); if (!duration) { return; } return getAt(this._framesMap, second, duration); } destroy(): void { this._framesMap = null; } } export { IPreviewAPI }; export default PreviewService;