diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2021-02-09 14:27:31 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2021-02-10 16:21:30 +0530 |
commit | ea3c0e87660aa987881b4c7c3424fbf56e709c54 (patch) | |
tree | c91fe4cd4c8744ed060b5ffaafdeead7496a38b2 | |
parent | a508bc243d02c256c1d6ac7fbe6e6980f655e70f (diff) |
sendrecv/js: Handle OFFER_REQUEST as part of the switch
This is clearer, and also stricter w.r.t. what sort of messages we
accept.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/31>
-rw-r--r-- | webrtc/sendrecv/js/webrtc.js | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/webrtc/sendrecv/js/webrtc.js b/webrtc/sendrecv/js/webrtc.js index b646b88..6f893e7 100644 --- a/webrtc/sendrecv/js/webrtc.js +++ b/webrtc/sendrecv/js/webrtc.js @@ -130,40 +130,38 @@ function onServerMessage(event) { if (!peer_connection) createCall(null).then (generateOffer); return; + case "OFFER_REQUEST": + // The peer wants us to set up and then send an offer + if (!peer_connection) + createCall(null).then (generateOffer); + return; default: if (event.data.startsWith("ERROR")) { handleIncomingError(event.data); return; } - if (event.data.startsWith("OFFER_REQUEST")) { - // The peer wants us to set up and then send an offer - if (!peer_connection) - createCall(null).then (generateOffer); - } - else { - // Handle incoming JSON SDP and ICE messages - try { - msg = JSON.parse(event.data); - } catch (e) { - if (e instanceof SyntaxError) { - handleIncomingError("Error parsing incoming JSON: " + event.data); - } else { - handleIncomingError("Unknown error parsing response: " + event.data); - } - return; - } - - // Incoming JSON signals the beginning of a call - if (!peer_connection) - createCall(msg); - - if (msg.sdp != null) { - onIncomingSDP(msg.sdp); - } else if (msg.ice != null) { - onIncomingICE(msg.ice); + // Handle incoming JSON SDP and ICE messages + try { + msg = JSON.parse(event.data); + } catch (e) { + if (e instanceof SyntaxError) { + handleIncomingError("Error parsing incoming JSON: " + event.data); } else { - handleIncomingError("Unknown incoming JSON: " + msg); + handleIncomingError("Unknown error parsing response: " + event.data); } + return; + } + + // Incoming JSON signals the beginning of a call + if (!peer_connection) + createCall(msg); + + if (msg.sdp != null) { + onIncomingSDP(msg.sdp); + } else if (msg.ice != null) { + onIncomingICE(msg.ice); + } else { + handleIncomingError("Unknown incoming JSON: " + msg); } } } |