Commit f63ecb30 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Support file playback on Mozilla.

parent 14a43036
...@@ -419,8 +419,11 @@ function setButtonsVisibility() { ...@@ -419,8 +419,11 @@ function setButtonsVisibility() {
let local = !!findUpMedia('local'); let local = !!findUpMedia('local');
let share = !!findUpMedia('screenshare'); let share = !!findUpMedia('screenshare');
let video = !!findUpMedia('video'); let video = !!findUpMedia('video');
/** @ts-ignore */ let canFile =
let canFile = !!HTMLVideoElement.prototype.captureStream; /** @ts-ignore */
!!HTMLVideoElement.prototype.captureStream ||
/** @ts-ignore */
!!HTMLVideoElement.prototype.mozCaptureStream;
// don't allow multiple presentations // don't allow multiple presentations
setVisibility('presentbutton', permissions.present && !local); setVisibility('presentbutton', permissions.present && !local);
...@@ -1154,18 +1157,23 @@ async function addShareMedia() { ...@@ -1154,18 +1157,23 @@ async function addShareMedia() {
* @param {File} file * @param {File} file
*/ */
async function addFileMedia(file) { async function addFileMedia(file) {
/** @ts-ignore */
if(!HTMLVideoElement.prototype.captureStream) {
displayError("This browser doesn't support file playback");
return;
}
let url = URL.createObjectURL(file); let url = URL.createObjectURL(file);
let video = document.createElement('video'); let video = document.createElement('video');
video.src = url; video.src = url;
video.controls = true; video.controls = true;
let stream;
/** @ts-ignore */
if(video.captureStream)
/** @ts-ignore */
stream = video.captureStream();
/** @ts-ignore */ /** @ts-ignore */
let stream = video.captureStream(); else if(video.mozCaptureStream)
/** @ts-ignore */
stream = video.mozCaptureStream();
else {
displayError("This browser doesn't support file playback");
return;
}
let c = newUpStream(); let c = newUpStream();
c.kind = 'video'; c.kind = 'video';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment