diff --git a/RelayClient/Resources/Raw/wwwroot/index.js b/RelayClient/Resources/Raw/wwwroot/index.js index a4645fd..4821c64 100644 --- a/RelayClient/Resources/Raw/wwwroot/index.js +++ b/RelayClient/Resources/Raw/wwwroot/index.js @@ -54,7 +54,9 @@ window.addEventListener("load", async () => { function testIndex(rawJson) { const data = typeof rawJson === "string" ? JSON.parse(rawJson) : rawJson; - data.sdp = data.sdp.replaceAll("(rn)", "\r\n"); + if (data.sdp) { + data.sdp = data.sdp.replaceAll("(rn)", "\r\n"); + } handleRtcSignal(JSON.stringify(data)); // if (data.type === "rtc_offer") { // handleOffer(data) diff --git a/RelayClient/Resources/Raw/wwwroot/rtc.js b/RelayClient/Resources/Raw/wwwroot/rtc.js index 81e38ad..2cf9153 100644 --- a/RelayClient/Resources/Raw/wwwroot/rtc.js +++ b/RelayClient/Resources/Raw/wwwroot/rtc.js @@ -139,8 +139,14 @@ async function handleIce(msg) { } if (!msg.candidate) return; + + const candidateInit = { + candidate: msg.candidate, + sdpMid: msg.sdpMid, + sdpMLineIndex: msg.sdpMLineIndex + }; - await pc.addIceCandidate(msg.candidate); + await pc.addIceCandidate(candidateInit); LogMessage(`Applied ICE from ${msg.from}`); } @@ -161,7 +167,9 @@ async function ensurePeerConnectionForUser(username) { channelId: currentChannelId, from: currentUsername, to: username, - candidate: JSON.stringify(event.candidate) + candidate: event.candidate.candidate, + sdpMid: event.candidate.sdpMid, + sdpMLineIndex: event.candidate.sdpMLineIndex }); };