W3C home > Mailing lists > Public > public-media-capture@w3.org > February 2012

RE: Constraints structure and Capabilities API

From: Josh Soref <jsoref@rim.com>
Date: Thu, 23 Feb 2012 23:41:20 +0000
To: "public-media-capture@w3.org" <public-media-capture@w3.org>
Message-ID: <957F1ECDA90E004B8DBDE23CFC94E3A33213C971@XMB103ECNC.rim.net>
Please don't cross post, it makes for a mess, pick a list, and then send the other list a reference to it:

http://lists.w3.org/Archives/Public/public-media-capture/2012Feb/0041.html

fwiw, that comes from a header you'll receive in your message that looks like:
Archived-At: <http://www.w3.org/mid/F6D7A22F-F7DF-4734-946B-08DD87993587@voxeo.com>

Dan wrote:
> If the
> browser is unable to satisfy all mandatory constraints, the media request call
> MUST fail with an appropriate error message and list the mandatory constraints
> it was unable to satisfy.

What happens if a browser can't meet some combination of constraints but could do them individually? :)

> An initial list of valid constraints is:

Seems reasonable.

> Example:
>  {0:{video-min-height:600, mandatory:true},
>   1:{video-max-aspectratio:1.333333333333},
>   2:{video-min-timebetweenrefframes:20},
>   3:{video-max-bandwidth:500, mandatory:true},
>   4:{video-min-framerate:30},
>   5:(video-autowhitebalance:on}}

What happens if someone does:

  {0:{video-min-height:600, mandatory:true},
   1:{video-max-height:500, mandatory:true}}

:)


> A call to getCapabilities() returns a JavaScript Array containing, for each
> device/media stream/channel, all relevant constraints (the constraints as
> specified by the constraints API). For example,
> 
> {camera001:{
>    video-min-width:  800,
>    video-max-width:  1024,
>    video-min-height:  600,
>    video-max-height:  768,
>    video-min-aspectratio:  1.333333333333,
>    video-max-aspectratio:  1.333333333333,
>    video-min-framerate:  24,
>    video-max-framerate:  60,
>    video-min-pixelrate:  15,
>    video-max-pixelrate:  47,
>    video-min-timebetweenkeyframes;  20,
>    video-max-timebetweenkeyframes:  40,
>    video-min-bandwidth:  1.5,
>    video-max-bandwidth:  3.5},
>  camera002:{
>    video-min-width:  1600,
>    video-max-width:  1920,
>    video-min-height:  1080,
>    video-max-height:  1200,
>    video-min-aspectratio:  1.33333333333,
>    video-max-aspectratio:  1.77777777777,
>    video-min-framerate:  24,
>    video-max-framerate:  120,
>    video-min-pixelrate:  57.6,
>    video-max-pixelrate:  248,
>    video-min-timebetweenkeyframes;  20,
>    video-max-timebetweenkeyframes:  40,
>    video-min-bandwidth:  8,
>    video-max-bandwidth:  29.4},
>  audio001:{
>    audio-min-bandwidth:  1.4,
>    audio-max-bandwidth:  128,
>    audio-min-mos:  2,
>    audio-max-mos:  5,
>    audio-min-codinglatency:  10,
>    audio-max-codinglatency:  50,
>    audio-min-samplingrate:  8000,
>    audio-max-samplingrate:  48000}}

For trusted mode, this is ok, for untrusted mode, this is incredibly fingerprint.

I wouldn't mind something where the browser returns values based on what was requested...

> Note that bandwidth and latency capabilities reflect the combined effect of
> that device and any codecs we have available to use with it.


---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.
Received on Thursday, 23 February 2012 23:41:51 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:24:35 UTC