RE: Making RTCSessionDescription and RTCIceCandidate much more flexible

The current constructor forces the requirement that any SessionDescription object should always have two components: a type and SDP string. Your proposal relaxes this requirement to allow the object to have one or none of the components at some time.

Beside more alternative ways to construct the object, could you elaborate the use cases for this proposal?


From: Tommy Widenflycht (ᛏᚮᛘᛘᚤ) []
Sent: Tuesday, July 31, 2012 5:42 AM
Subject: Making RTCSessionDescription and RTCIceCandidate much more flexible

Hello list members,

Today I would like to propose a small change to RTCSessionDescription and RTCIceCandidate which would make the much more flexible:

[Constructor(optional Dictionary description)]
interface RTCSessionDescription {
             attribute RTCSdpType type;
             attribute DOMString  sdp;

In short the single constructor takes an Dictionary which is expected to mimic its members, and the stringifier method is removed.

This has the advantages of being extremely powerful:

sd = new RTCSessionDescription();
sd.sdp = ...;
sd.type = ...;

sd = new RTCSessionDescription({sdp:"..."});
sd.type = ...;

sd = new RTCSessionDescription({type:"answer", sdp:"..."});

sd = new RTCSessionDescription(JSON.parse(some_json_string));

sd2 = new RTCSessionDescription(sd);

and in the other direction

jsonified_sd = JSON.stringify(sd);

There's some precedence in using a constructor like this in some of the base Event classes.


Tommy Widenflycht, Senior Software Engineer
Google Sweden AB, Kungsbron 2, SE-11122 Stockholm, Sweden
Org. nr. 556656-6880
And yes, I have to include the above in every outgoing email according to EU law.

Received on Tuesday, 31 July 2012 15:12:44 UTC