UNPKG

@100mslive/hls-player

Version:

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

39 lines (35 loc) 987 B
import { Level, LevelParsed } from 'hls.js'; import { HMSHLSLayer } from '../interfaces/IHMSHLSLayer'; /** * * @param payload a base64 string coming from backend * @returns a parsed data which contains payload, start_date, end_date, version */ export const metadataPayloadParser = (payload: string): Record<string, any> => { try { const data = window?.atob(payload); const parsedData = JSON.parse(data); return parsedData; } catch (e) { return { payload }; } }; /** * map Level[] to HMSHLSLayer[] */ export const mapLayers = (levels: Level[] | LevelParsed[]): HMSHLSLayer[] => { return levels.map((level: Level | LevelParsed) => mapLayer(level)); }; /** * map Level[] to HMSHLSLayer[] */ export const mapLayer = (quality: Level | LevelParsed): HMSHLSLayer => { return { resolution: quality.attrs?.RESOLUTION, bitrate: quality.bitrate, height: quality.height, id: quality.id, url: quality.url[0], width: quality.width, }; };