- From: Justin Uberti <juberti@google.com>
- Date: Thu, 14 Jun 2012 15:29:40 -0400
- To: Adam Bergkvist <adam.bergkvist@ericsson.com>
- Cc: Dominique Hazael-Massieux <dom@w3.org>, Anant Narayanan <anant@mozilla.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CAOJ7v-0peBPx768zXDUCiq7qB1W1C8DYr+6FwHtgEEJorj0Brw@mail.gmail.com>
On Thu, Jun 14, 2012 at 11:52 AM, Adam Bergkvist < adam.bergkvist@ericsson.com> wrote: > On 2012-06-14 17:19, Justin Uberti wrote: > >> >> >> On Thu, Jun 14, 2012 at 11:08 AM, Adam Bergkvist >> <adam.bergkvist@ericsson.com <mailto:adam.bergkvist@**ericsson.com<adam.bergkvist@ericsson.com>>> >> wrote: >> >> On 2012-06-14 14:15, Dominique Hazael-Massieux wrote: >> >> Hi Adam, >> >> Le jeudi 14 juin 2012 à 12:06 +0200, Adam Bergkvist a écrit : >> >> I got the task to drive action ACTION-43: Move >> SessionDescription and >> IceCandidate out of the global namespace. >> >> >> My recommendation would be: >> * to kill IceCandidate and replace it by a DOMString since we >> never use >> it for anything else as far as I can tell; >> >> * if we must keep SessionDescription (which I understand there >> was rough >> consensus on, although I'm still not sure what for), we should >> make it a >> [NoInterfaceObject] interface, without constructor; if we need to >> construct the objects rather than just passing them around, we >> should >> have a factory function on PeerConnection (e.g. >> pc.getSessionDescription) — but based on my recollection, there was >> still doubts on what we would use these objects for >> >> >> Perhaps we could settle with just one object. It would have a type >> attribute that could be "candidate" as well as the current >> SessionDescription types. I believe a requirement on the factory >> method is to be able to take a string received from the network. >> Otherwise it wouldn't be a direct replacement for the constructor >> (if that's what we need). >> >> >> IceCandidate and SessionDescription represent different concepts. For >> example, IceCandidate has a label attribute to indicate which media it >> is relevant for (it's not just a DOMString). And SessionDescription will >> surely have methods in the future to make handling SDP less messy. >> >> Combining them to save a namespace name seems like the wrong optimization. >> > > I don't want to combine them to get rid of an object in the global > namespace (primarily). I think there are benefits. > > One object with a type attribute nice to have on the receiving side to > switch on if the app wants to do different things with the different > message types. > > I think it would be more OK to require an object as the argument to the > function consuming the message on the receiver side when there's only one > type. I.e., there's no need to have conditions on which type of object to > create. > > A SessionDescription, as it is defined today, may very well have candidate > lines included if, e.g., the developer has waited for candidates before > creating the offer. Any API working with candidates would apply in both > cases. > > A complete SDP, in the candidate case, would solve the problem with > correlating candidates with the appropriate m-lines. It's just a candidate - how can it be a complete SDP? The app needs access to just the candidate information so it can turn that into a candidate message in the appropriate signaling protocol. If we made it a SDP fragment (m= + a=candidate), this would mean that some SessionDescriptions are full SDPs and others are partial SDPs, with unclear benefit.
Received on Thursday, 14 June 2012 19:30:30 UTC