Re: Making RTCSessionDescription and RTCIceCandidate much more flexible

To simplify conversion to/from JSON strings.

On Tue, Jul 31, 2012 at 5:09 PM, Li Li <Li.NJ.Li@huawei.com> wrote:

>  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?****
>
> ** **
>
> Thanks.****
>
> Li****
>
> ** **
>
> *From:* Tommy Widenflycht (ᛏᚮᛘᛘᚤ) [mailto:tommyw@google.com]
> *Sent:* Tuesday, July 31, 2012 5:42 AM
> *To:* public-webrtc@w3.org
> *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.****
>
> ** **
>
> ** **
>
> Regards,****
>
> Tommy****
>
> ** **
>
> --
> 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.****
>



-- 
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:18:27 UTC