[Bug 23820] New: Add special values for PropertyValueRange to enable preference specification in optional constraints

https://www.w3.org/Bugs/Public/show_bug.cgi?id=23820

            Bug ID: 23820
           Summary: Add special values for PropertyValueRange to enable
                    preference specification in optional constraints
           Product: WebRTC Working Group
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Media Capture and Streams
          Assignee: public-media-capture@w3.org
          Reporter: travil@microsoft.com
                CC: public-media-capture@w3.org

We realized that we need to be able to specify "preference" and that the
current technique for doing it isn't very nice (and not necessarily portable).

To summarize the existing technique: you simply provide an ordered list of
optional constraints where the values are the constrainable property's max+ or
min- e.g.,:
optional: [
    { width: 1600 }, /* Where 1600 is the max width according to a previous
capability check or simply a guess */
    { height: 1200 }, /* Where 1200 is the max height according to a previous
capability check or simply a guess */
    { frameRate: 5 } /* Where 5 is the min framerate according to a previous
capability check or simply a guess */
  ]
The net effect is that you've now stated (specifically for this UA/device) that
"I prefer" best width over best height and that the framerate is to be
completely deprioritized (in that order).

So, after looking at that example, the proposal is to codify the concept of
"best" by introducing keywords to make specifying these preferences easier. 

Proposal: Add special values of "min" and "max" as tokens that represent the
minimum and maximum values for the constrainable property (whatever they may
be).

Given the proposal, the example becomes:
optional: [
    { width: "maximum" },
    { height: "maximum" },
    { frameRate: "minimum" }
  ]

With this proposal it becomes somewhat trivial to implement quality-of-service
preferences for scenarios with multiple video/audio devices.

The specific token names are up for negotiation :-) E.g., prop: {min:
"minimum", max: "maximum" } might be silly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.

Received on Thursday, 14 November 2013 04:19:21 UTC