let dataChannel\r
let hostScreen\r
\r
-/* TODO: duplicate in both client.js and host.js */\r
+/* TODO: This is duplicated in both client.js and host.js */\r
function getPublicKey() {\r
return new Promise( (resolve, reject) => {\r
/* Check local storage for public key */\r
/* But there is no JSON? */\r
request.setRequestHeader('Content-Type', 'application/json' )\r
request.setRequestHeader('X-Strapp-Type', 'client-sdp-offer')\r
- request.setRequestHeader('X-Client-Offer', JSON.stringify(data))\r
+ request.setRequestHeader('X-Strapp-Pubkey', data.pubKey) \r
request.onreadystatechange = () => {\r
if (request.status === 200) {\r
if(request.readyState === 4) {\r
reject('server unhandled response of status ' + request.status)\r
}\r
}\r
- request.send()\r
+ request.send(data)\r
})\r
}\r
\r
console.log('error in sdp handshake: ' + err)\r
})\r
}\r
- /* Start data channel */\r
+ /* Start data channel, triggers on negotiation needed */\r
dataChannel = cpc.createDataChannel("sendChannel");\r
+\r
+ /* Triggered when Host adds track to peer connection */\r
cpc.ontrack = (event) => {\r
console.log(`track event is ${event}`)\r
let remoteRTPSenders = cpc.getSenders()\r
video.play()\r
}\r
}\r
+\r
dataChannel.onmessage = (msg) => {\r
/* Get mediaStream from host and add it to the video */\r
let hostMessage = JSON.parse(msg.data)\r
+ console.log('Client: Renego')\r
cpc.setRemoteDescription(hostMessage.sdp).then(() => {\r
cpc.createAnswer().then((answer) => {\r
return cpc.setLocalDescription(answer)\r