- From: Eric Rescorla <ekr@rtfm.com>
- Date: Tue, 5 Jun 2012 08:08:55 -0700
- To: Adam Bergkvist <adam.bergkvist@ericsson.com>
- Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
I'm pretty indifferent to these options, but is there any other
advantage to this
other than JS compactness?
-Ekr
On Tue, Jun 5, 2012 at 6:58 AM, Adam Bergkvist
<adam.bergkvist@ericsson.com> wrote:
> Hi
>
> This suggestion uses the SdpType attribute of SessionDescription (discussed
> in:
> http://lists.w3.org/Archives/Public/public-webrtc/2012May/0047.html) to
> include type information in the SessionDescription object. By doing so, we
> can have a less verbose syntax where the JavaScript developer can work with
> self-contained objects that are generated and understood by PeerConnection.
>
> This doesn't reduce flexibility since the application can reset the type of,
> e.g., an "answer" to an "pranswer" to make PeerConnection interpret it as
> such.
>
> Example of creating an offer:
>
> --- Current syntax:
>
> pc.createOffer(function (offer) {
> pc.setLocalDescription("offer", offer);
> sendMessage(JSON.stringify({ "type": "offer", "sdp": offer }));
> });
>
> --- Less verbose syntax:
>
> pc.createOffer(function (offer) {
> pc.updateLocalDescription(offer);
> sendMessage(offer);
> });
>
> Example of handling an incoming signaling message:
>
> --- Current syntax:
>
> signalingChannel.onmessage = function (evt) {
> var msg = JSON.parse(evt.data);
> switch (msg.type) {
> case "offer":
> createPeerConnection();
> pc.setRemoteDescription(msg.type,
> new SessionDescription(msg.sdp));
> break;
> case "answer":
> case "pranswer":
> pc.setRemoteDescription(msg.type,
> new SessionDescription(msg.sdp));
> break;
> case "candidate":
> pc.addIceCandidate(new IceCandidate(msg.sdp));
> break;
> }
> };
>
> --- Less verbose syntax:
>
> signalingChannel.onmessage = function (evt) {
> if (!pc)
> createPeerConnection();
>
> pc.updateRemoteDescription(evt.data);
> };
>
> /Adam
>
Received on Tuesday, 5 June 2012 15:18:00 UTC