UNPKG

tav-media

Version:

Cross platform media editing framework

41 lines (40 loc) 1.4 kB
import { MovieAsset } from ".."; /* eslint-disable no-param-reassign */ export function setMediaSource(media, src) { if (src.indexOf('.m3u8') > 0 || src.indexOf('.hls') > 0) { if (typeof (Hls) !== 'undefined' && Hls.isSupported()) { const options = MovieAsset.MovieOptions[src]; const hlsOptions = { chachaParam: options === null || options === void 0 ? void 0 : options.hlsChachaParam, }; const hls = new Hls(hlsOptions); hls.loadSource(src); hls.attachMedia(media); } else if (media.canPlayType('application/vnd.apple.mpegurl')) { media.src = src; } else { console.log('If you want to support m3u8, please add hls.js to your page'); } } else { media.src = src; } } export function waitForEvent(element, eventName, timeout = 1000) { return new Promise((resolve) => { let oneTimeCallback; let resolved = false; // eslint-disable-next-line prefer-const oneTimeCallback = () => { element.removeEventListener(eventName, oneTimeCallback); if (!resolved) { resolved = true; resolve(); } }; setTimeout(oneTimeCallback, timeout); element.addEventListener(eventName, oneTimeCallback); }); }