- From: Justin Uberti <juberti@google.com>
- Date: Fri, 26 Aug 2011 00:48:08 -0400
- To: "Timothy B. Terriberry" <tterriberry@mozilla.com>
- Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, public-webrtc@w3.org
- Message-ID: <CAOJ7v-2kEByX3mq7dRFuo7wEqaEGz597aWuFpEZK9zE_eS6U4A@mail.gmail.com>
On Thu, Aug 25, 2011 at 8:01 PM, Timothy B. Terriberry < tterriberry@mozilla.com> wrote: > Justin Uberti wrote: > >> I think it makes sense for the browser to emit capabilities, which could >> > > I agree there's clearly some gaps here that need to be filled. > > > then be used by the web app to generate a SDP offer or answer. This >> > > The original problem that started this email is one specific example - >> if the callee application wants to only receive audio, the application >> can generate an audio-only SDP based on the offer, the browser >> > > I think the Harald's original problem was the other way around: the > _caller_ wants to only receive audio, and needs to generate an SDP _offer_ > that says that, even if the browser is capable of receiving video. I don't > think that invalidates your point, though. > > > capabilities, and the desired app behavior - without any new APIs in the >> browser. >> > > But I'm not sure what you mean by "without any new APIs"... in your > approach, something has to be able to enumerate the capabilities in > sufficient detail for the webapp to generate SDP by itself. I don't think > there are any existing APIs that go that far. > I meant, without specific APIs for that specific use case (i.e. "create an audio-only offer"). We would need some sort of GetCapabilities API that returned a blob of all the session description options the browser supported, which probably could be formatted as a uber SDP offer if that made parsing simplest. > > You also need an API to tell the browser what to actually do. The current > PeerConnection approach is passing in the offer or the answer. If you're > generating the answer, you need some way to tell your browser what you > answered. For the "please don't send me video" case this is not an issue... > it'll simply never arrive. If you want to change what the local browser is > sending out, however, then it is. > Yes, you need a "HandleLocalDescription" and "HandleRemoteDescription" API, instead of just a single OnSignalingMessage API. The deviation from the current flow is fairly minor, you just have 2 additional states in the state machine. > > I do agree it eliminates the need for an API to tell the browser what kind > of SDP to generate, but it also seems like it imposes a pretty big burden on > application developers: even if you keep the currently-proposed > PeerConnection ability to generate SDP as the "simple API", the moment you > want to do something slightly more complex, you have to add code to generate > the appropriate SDP, which necessarily involves figuring out all the > capabilities of the various browsers on various platforms. Maybe I'm naive > in thinking that seems like an awful lot of work just to say, "Please don't > send me video." It's a fair point, there is more complexity involved in generating the offer, but in our experience it is manageable. I suppose it depends on how many APIs we decide we need to control the generation of SDP (i.e. use cases other than no-video). If we decide we need to control crypto, resolution preference, codec preference, we may find this approach simpler. > > ______________________________**_________________ > rtcweb mailing list > rtcweb@ietf.org > https://www.ietf.org/mailman/**listinfo/rtcweb<https://www.ietf.org/mailman/listinfo/rtcweb> >
Received on Sunday, 28 August 2011 20:35:54 UTC