]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/assets/player/video-renderer.ts
(embed) sandbox the iframe
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / video-renderer.ts
index 174676ffafe5ebafe9bcee95e3c6542de4919c43..4affb43cf1c951aa87cf23c3d246c971b83a9d7d 100644 (file)
@@ -33,10 +33,14 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca
   let currentTime = 0
   let renderer
 
-  if (VIDEOSTREAM_EXTS.indexOf(extension) >= 0) {
-    renderer = useVideostream()
-  } else {
-    renderer = useMediaSource()
+  try {
+    if (VIDEOSTREAM_EXTS.indexOf(extension) >= 0) {
+      renderer = useVideostream()
+    } else {
+      renderer = useMediaSource()
+    }
+  } catch (err) {
+    return callback(err)
   }
 
   function useVideostream () {
@@ -54,13 +58,11 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca
     const codecs = getCodec(file.name, useVP9)
 
     prepareElem()
-    preparedElem.addEventListener('error', function onError(err) {
-      // Try with vp9 before returning an error
-      if (codecs.indexOf('vp8') !== -1) {
-        preparedElem.removeEventListener('error', onError)
+    preparedElem.addEventListener('error', function onError (err) {
+      preparedElem.removeEventListener('error', onError)
 
-        return fallbackToMediaSource(true)
-      }
+      // Try with vp9 before returning an error
+      if (codecs.indexOf('vp8') !== -1) return fallbackToMediaSource(true)
 
       return callback(err)
     })