- 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