|
|
@@ -373,7 +373,10 @@ form label { |
|
|
|
// ... but only once icegathering is complete. |
|
|
|
pc.onnegotiationneeded = async function () { |
|
|
|
log("In pc.onnegotiationneeded..."); |
|
|
|
await pc.setLocalDescription(await pc.createOffer()); |
|
|
|
const useOffer = (!settings || !('separateIce' in settings) |
|
|
|
|| !settings.separateIce); |
|
|
|
await pc.setLocalDescription( |
|
|
|
await (useOffer ? pc.createOffer() : pc.createAnswer())); |
|
|
|
sendOffer(); |
|
|
|
} |
|
|
|
|
|
|
@@ -471,6 +474,10 @@ form label { |
|
|
|
log("Added track."); |
|
|
|
pc.addTrack(track, stream); |
|
|
|
} |
|
|
|
log('End of startStreaming(), creating answer...'); |
|
|
|
if (settings && 'separateIce' in settings && settings.separateIce) { |
|
|
|
await pc.setLocalDescription(await pc.createAnswer()); |
|
|
|
} |
|
|
|
} |
|
|
|
function startStreamingWithErorrHandling(fromButton) { |
|
|
|
startStreaming(fromButton) |
|
|
@@ -502,8 +509,12 @@ form label { |
|
|
|
await pc.setRemoteDescription(data.description); |
|
|
|
if (data.description.type == "offer") { |
|
|
|
log("Got an offer..."); |
|
|
|
await pc.setLocalDescription(await pc.createAnswer()); |
|
|
|
sendOffer(); |
|
|
|
if (!settings || !('separateIce' in settings) || !settings.separateIce) { |
|
|
|
await pc.setLocalDescription(await pc.createAnswer()); |
|
|
|
sendOffer(); |
|
|
|
} else { |
|
|
|
log("separateIce mode, so delaying answer."); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|