// Thanks: https://github.com/feross/render-media
-// TODO: use render-media once https://github.com/feross/render-media/issues/32 is fixed
const MediaElementWrapper = require('mediasource')
import { extname } from 'path'
-const videostream = require('videostream')
+const Videostream = require('videostream')
const VIDEOSTREAM_EXTS = [
'.m4a',
function renderMedia (file: any, elem: HTMLVideoElement, opts: RenderMediaOptions, callback: (err: Error, renderer?: any) => void) {
const extension = extname(file.name).toLowerCase()
- let preparedElem: any = undefined
+ let preparedElem: any
let currentTime = 0
let renderer: any
try {
- if (VIDEOSTREAM_EXTS.indexOf(extension) >= 0) {
+ if (VIDEOSTREAM_EXTS.includes(extension)) {
renderer = useVideostream()
} else {
renderer = useMediaSource()
return callback(err)
})
preparedElem.addEventListener('loadstart', onLoadStart)
- return videostream(file, preparedElem)
+ return new Videostream(file, preparedElem)
}
function useMediaSource (useVP9 = false) {
preparedElem.removeEventListener('error', onError)
// Try with vp9 before returning an error
- if (codecs.indexOf('vp8') !== -1) return fallbackToMediaSource(true)
+ if (codecs.includes('vp8')) return fallbackToMediaSource(true)
return callback(err)
})