From 6c74300e4548357fcb43ce71b17ff6d7a75609f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Velarde?= Date: Mon, 21 Oct 2019 12:52:22 +0200 Subject: [PATCH] Use srcObject assigning through utils --- client/js/localwall.js | 4 ++-- client/js/remotewall.js | 8 ++++---- client/js/sharer.js | 3 ++- client/js/utils.js | 8 ++++++++ client/localwall.html | 1 + client/remotewall.html | 1 + client/sharer.html | 1 + 7 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 client/js/utils.js diff --git a/client/js/localwall.js b/client/js/localwall.js index 430336c..a61c3af 100644 --- a/client/js/localwall.js +++ b/client/js/localwall.js @@ -44,7 +44,7 @@ function onDesktopStream(stream) { var video = document.querySelector("#desktop"); - video.src = window.URL.createObjectURL(stream); + setVideoStream(video, stream); } navigator.getUserMedia(webcamOptions, onWebcamStream, function(e) { @@ -53,7 +53,7 @@ function onWebcamStream(stream){ var video = document.querySelector("#webcam"); - video.src = window.URL.createObjectURL(stream); + setVideoStream(video, stream); }; })(); diff --git a/client/js/remotewall.js b/client/js/remotewall.js index 7b11f3c..52e0559 100644 --- a/client/js/remotewall.js +++ b/client/js/remotewall.js @@ -34,7 +34,7 @@ navigator.getUserMedia(videoOptions, function (stream) { localVideoStream = stream; - localVideoElem.src = URL.createObjectURL(localVideoStream); + setVideoStream(localVideoElem, localVideoStream); createAndSendAnswer(); }, function (error) { console.log(error); }); } @@ -47,7 +47,7 @@ localVideoElem.classList.add('hide'); } if (remoteVideoElem) { - remoteVideoElem.src = URL.createObjectURL(localVideoStream); + setVideoStream(remoteVideoElem, localVideoStream); } } @@ -85,9 +85,9 @@ } function onAddStreamHandler (e) { - remoteVideoElem.src = URL.createObjectURL(e.stream); + setVideoStream(remoteVideoElem, e.stream); if (localVideoStream) { - localVideoElem.src = URL.createObjectURL(localVideoStream); + setVideoStream(localVideoElem, localVideoStream); localVideoElem.classList.remove('hide'); } } diff --git a/client/js/sharer.js b/client/js/sharer.js index 7c59e27..bdcc57a 100644 --- a/client/js/sharer.js +++ b/client/js/sharer.js @@ -67,7 +67,8 @@ navigator.getUserMedia(desktopOptions, function (stream) { localVideoStream = stream; - localVideoElem.src = URL.createObjectURL(localVideoStream); + setVideoStream(localVideoElem, localVideoStream); + peerConn.addStream(localVideoStream); createAndSendOffer(); }, function (error) { console.log(error); }); diff --git a/client/js/utils.js b/client/js/utils.js new file mode 100644 index 0000000..ea8611e --- /dev/null +++ b/client/js/utils.js @@ -0,0 +1,8 @@ +function setVideoStream($video, stream){ + // ref: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject + try { + $video.srcObject = stream; + } catch (error) { + $video.src = window.URL.createObjectURL(stream); + } +} \ No newline at end of file diff --git a/client/localwall.html b/client/localwall.html index 0f76728..6216765 100644 --- a/client/localwall.html +++ b/client/localwall.html @@ -21,6 +21,7 @@ + diff --git a/client/remotewall.html b/client/remotewall.html index 8ca4eba..57583a6 100644 --- a/client/remotewall.html +++ b/client/remotewall.html @@ -22,6 +22,7 @@ + diff --git a/client/sharer.html b/client/sharer.html index 39c5e67..b665a9c 100644 --- a/client/sharer.html +++ b/client/sharer.html @@ -16,6 +16,7 @@ +