- From: Justin Uberti <juberti@google.com>
- Date: Wed, 20 Jun 2012 10:56:31 -0400
- To: Harald Alvestrand <harald@alvestrand.no>
- Cc: public-webrtc@w3.org
- Message-ID: <CAOJ7v-3npJOCrRB6=jkjKzu7FFBmy2VSoWz2a_Oj3vVJSk6vhg@mail.gmail.com>
On Wed, Jun 20, 2012 at 9:21 AM, Harald Alvestrand <harald@alvestrand.no>wrote: > On 06/19/2012 03:45 PM, Justin Uberti wrote: > > > > On Tue, Jun 19, 2012 at 8:57 AM, Stefan Hakansson LK < > stefan.lk.hakansson@ericsson.com> wrote: > >> On 06/19/2012 08:30 AM, Randell Jesup wrote: >> >>> On 6/18/2012 3:22 PM, Justin Uberti wrote: >>> >>>> >>>> >>>> On Mon, Jun 18, 2012 at 2:57 PM, Cullen Jennings (fluffy) >>>> <fluffy@cisco.com<mailto:fluffy@cisco.com>> wrote: >>>> >>>> >>>> This seems like good proposal, one comment on a small detail. >>>> >>>> On Jun 15, 2012, at 1:28 PM, Justin Uberti wrote: >>>> >>>> > SessionDescriptionOptions.IncludeAudio = true/false // forces >>>> m=audio line to be included >>>> > SessionDescriptionOptions.IncludeVideo = true/false // forces >>>> m=video line to be included >>>> > SessionDescriptionOptions.UseVoiceActivityDetection = true/false >>>> // includes CN codecs if true >>>> >>>> I think these three should be constraints, not settings because a >>>> given browser may not support any of them. >>>> >>>> >>>> Practically speaking, what does that mean for applications? >>>> >>> >>> I can conceive of a browser implementing audio but not video. And a >>> gateway or other stand-alone WebRTC box/functionality might include JS >>> and these JS apis for ease of programming (and might be audio-only). >>> (I'd try to avoid it in production, probably, but even that might not be >>> needed with modern JS JIT speed so long as it didn't have to tear down >>> and restart all the time.) >>> >>> CN codecs: I dislike them anyways. :-) An implementation definitely >>> could avoid including those. >>> >> >> Many codecs have built in CN modes. I guess for those it is more a >> question of being able to switch off the VAD. >> >> > I agree with the scenarios mentioned - my question was mostly about what > does having these settings be "constraints" vs "settings" mean for users of > the API. Is it simply that the call must fail if the request can't be > satisfied? > > > If they are constraints, it's the caller's choice whether or not the call > should fail if the constraint can't be satisfied (listing them in > "mandatory" vs "optional" sections). > > If they are settings, it's the specification's choice whether or not the > call should fail if the constraint can't be satisfied; it has to be always > handled the same. > > At least that's how I read it. > That makes sense. So perhaps we add .mandatory and .optional to make these dictionaries into SessionDescriptionConstraints/IceConstraints, e.g. constraints = {}; constraints.mandatory.getCapabilities = true; constraints.optional.includeAudio = true; constraints.optional.includeVideo = true; pc.createOffer(successCb, failCb, constraints); and we end up with MediaConstraints, SessionDescriptionConstraints, and IceConstraints that all act the same way. > > > Harald > > >
Received on Wednesday, 20 June 2012 14:57:24 UTC