diff --git a/public/main.js b/public/main.js
index ac3c16a..b07166a 100644
--- a/public/main.js
+++ b/public/main.js
@@ -186,11 +186,31 @@ var app = new Vue({
this.attachSinkId(document.querySelector('#localVideo'), audioDestination);
},
gotStream: function gotStream(stream) {
- this.stream = stream; // make stream available to console
+ console.log('gotStream', this.stream, stream);
+ if (this.stream) {
+ const oldVideo = this.stream.getTracks().find(track => track.kind === 'video');
+ this.stream.removeTrack(oldVideo);
+ this.stream.addTrack(stream);
+ } else {
+ this.stream = stream; // make stream available to console
+ }
document.querySelector('#localVideo').srcObject = stream;
// Refresh button list in case labels have become available
return navigator.mediaDevices.enumerateDevices();
},
+ shareScreen: async function shareScreen() {
+ // if (!displayMediaStream) {
+ const displayMediaStream = await navigator.mediaDevices.getDisplayMedia();
+ // }
+ // senders.find(sender => sender.track.kind === 'video').replaceTrack(displayMediaStream.getTracks()[0]);
+
+ //show what you are showing in your "self-view" video.
+ // document.getElementById('self-view').srcObject = displayMediaStream;
+
+ //hide the share button and display the "stop-sharing" one
+ // document.getElementById('share-button').style.display = 'none';
+ // document.getElementById('stop-share-button').style.display = 'inline';
+ },
handleError: function handleError(error) {
console.log('navigator.MediaDevices.getUserMedia error: ', error.message, error.name);
},
diff --git a/views/index.ejs b/views/index.ejs
index 12af9dc..cfb8934 100644
--- a/views/index.ejs
+++ b/views/index.ejs
@@ -72,6 +72,8 @@
+
+ Share screen