hjplayer
Version:
hjplayer, a HTML5 Player, can play flv and hls by Media Source Extension, based on typescript;
18 lines (15 loc) • 889 B
text/typescript
import getMediaSource from './mediasource-helper';
export default function isSupported(): boolean {
const mediaSource = getMediaSource();
const sourceBuffer = (window as any).SourceBuffer || (window as any).WebKitSourceBuffer;
const isTypeSupported = mediaSource
&& typeof mediaSource.isTypeSupported === 'function'
&& mediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"');
// if SourceBuffer is exposed ensure its API is valid
// safari and old version of Chrome doe not expose SourceBuffer globally so checking SourceBuffer.prototype is impossible
const sourceBufferValidAPI = !sourceBuffer
|| (sourceBuffer.prototype
&& typeof sourceBuffer.prototype.appendBuffer === 'function'
&& typeof sourceBuffer.prototype.remove === 'function');
return !!isTypeSupported && !!sourceBufferValidAPI;
}