- From: ᛏᚮᛘᛘᚤ <tommyw@google.com>
- Date: Fri, 3 Aug 2012 16:04:43 +0200
- Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CALLKCfNVzh-osXPsOSpirT2Era+Fiu+qOXyQ=Gd_zSYCORTSpA@mail.gmail.com>
Just FYI, I'll be trying this out in Chrome Canary/Chromium while waiting for the spec to settle and should not be seen as forcing a change in. /Tommy On Wed, Aug 1, 2012 at 1:41 PM, Tommy Widenflycht (ᛏᚮᛘᛘᚤ) <tommyw@google.com > wrote: > My main objective with this proposal is to make it very simple going > to/from JSON, and at the same time make it flexible if you use something > else than JSON in your negotiation channel. XMPP for example. > > The json use case: > > sd = new RTCSessionDescription(JSON.parse(jsonified_sd)); > jsonified_sd = JSON.stringify(sd); > > Some other format: > > sd_type = ...; > sd_sdp = ...; > sd = new RTCSessionDescription({type:sd_type, sdp:sd_sdp}); > > /Tommy > > On Tue, Jul 31, 2012 at 5:55 PM, Li Li <Li.NJ.Li@huawei.com> wrote: > >> I’m not quite sure why an application can’t get both SDP and its type >> at the same time from its peer. Do you suggest that the type and SDP string >> for a SessionDescription may come from different JSON strings? **** >> >> ** ** >> >> For example:**** >> >> ** ** >> >> sd = new RTCSessionDescription({sdp:"..."});**** >> >> sd.type = ...;**** >> >> ** ** >> >> The application receives the SDP string in one JSON string and its type >> in another, and you want to construct a SD object first and set its type >> later on.**** >> >> ** ** >> >> Thanks.**** >> >> Li**** >> >> ** ** >> >> *From:* Tommy Widenflycht (ᛏᚮᛘᛘᚤ) [mailto:tommyw@google.com] >> *Sent:* Tuesday, July 31, 2012 11:18 AM >> *To:* Li Li >> *Cc:* public-webrtc@w3.org >> *Subject:* 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.**** >> > > > > -- > 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 Friday, 3 August 2012 14:05:15 UTC