W3C home > Mailing lists > Public > public-webrtc@w3.org > June 2012

Re: Spec question: Using settings dictionaries instead of MediaConstraints ([ACTION-50])

From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 18 Jun 2012 16:53:37 -0700
Message-ID: <CABcZeBM28TO8Fmy_4mH_y7Q5cdDa5qNK--LWLyvKuf=vfR=LsA@mail.gmail.com>
To: Adam Bergkvist <adam.bergkvist@ericsson.com>
Cc: Justin Uberti <juberti@google.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
On Mon, Jun 18, 2012 at 5:13 AM, Adam Bergkvist
<adam.bergkvist@ericsson.com> wrote:
> On 2012-06-15 21:28, Justin Uberti wrote:
>> At the interim, it was indicated that using MediaConstraints for
>> non-media PeerConnection methods was probably not the right fit, one
>> reason being that most options were only relevant for a specific method,
>> and it would be good to make it clear which options should be passed to
>> which methods.
>> Therefore I propose that we define other settings dictionaries, similar
>> to MediaConstraints, but named specifically for the methods in which
>> they will be used.

Generally, I like this approach. Some (hopefully easy) nits below.

>> This results in new dictionaries IceOptions and
>> SessionDescriptionOptions, with values as shown below:
>> IceOptions.AllowedCandidates = ("none", "relay", "all) // "all", if not
>> specified
>> SessionDescriptionOptions.IncludeAudio = true/false // forces m=audio
>> line to be included
>> SessionDescriptionOptions.IncludeVideo = true/false // forces m=video
>> line to be included

By "forces" you mean "even if I don't include a video stream"?
That's what I'm taking from Adam's comment.
What happens if I AddStream() a video stream  but set this to

Maybe it would make more sense to have this *only* control
generating a recv-type media stream and have addstream
control only a send-type.

>> SessionDescriptionOptions.UseVoiceActivityDetection = true/false //
>> includes CN codecs if true

>> SessionDescriptionOptions.RestartIce = true/false // generates offer
>> with new ufrag/pwd
>> SessionDescriptionOptions.GetCapabilities = true/false // generates
>> "capabilities" offer
>> These fit into the existing API on the createOffer/Answer and updateIce
>> methods:

Hmm... So I can't update my iceOptions when I do createAnswer?
If I want to convert from relay only I have to do updateIce?

>> [Constructor (IceServers configuration, optional IceOptions iceOptions)]
>> interface PeerConnection {
>>    void createOffer(SessionDescriptionCallback
>> successCallback, optional PeerConnectionErrorCallback failureCallback,
>> optional SessionDescriptionOptions options);
>>    void createAnswer(SessionDescriptionCallback
>> successCallback, optional PeerConnectionErrorCallback failureCallback,
>> optional SessionDescriptionOptions options);
>>   ...
>>    void updateIce(optionalIceServersconfiguration,
>> optional IceOptions options);
>> Does this look reasonable?

Received on Monday, 18 June 2012 23:54:45 UTC

This archive was generated by hypermail 2.3.1 : Monday, 23 October 2017 15:19:28 UTC