- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Fri, 07 Feb 2014 05:28:42 +0100
- To: public-media-capture@w3.org
- Message-ID: <52F460FA.9040905@alvestrand.no>
On 02/07/2014 12:52 AM, Jim Barnett wrote:
> I don't think that this definition captures the interactions between
> constraints. If aspectRatio and width have already been constrained,
> it is not enough to check that the requested value for width is
> within the range specified by the relevant Capability. Your first
> four points are more precise than what's currently in the spec, but
> the last two have to be modified to talk of a set of property values
> satisfying a set of ConstraintSets.
You're right. The "intersection" has to be in terms of what's possible
given the already-satisfied constraints, not just what that particular
constraint has been constrained to.
>
> - Jim
> On 2/6/2014 5:49 PM, Harald Alvestrand wrote:
>> As promised, hashing out the language of ConstraintSet....
>>
>> First, an admission: I don't understand how initialization of complex
>> argument types in WebIDL is supposed to work.
>>
>> I tried to parse the WebIDL spec to figure out "here is how you
>> specify that an argument of type T can be constructed from a JS
>> Object O when O is passed as an argument to the function that takes
>> an argument of type T", but I did not find it. So I guess I'm left
>> with prose - and possibly supporting WebIDL.
>>
>> The algorithm I have in mind, which is a making-more-precise of
>> section 11.1.2 of the current (abbreviated) draft, says:
>>
>> WebIDL:
>>
>> typedef object ConstraintSet;
>>
>> The following operation is executed to figure out if the
>> Constrainable object O, which has capabilities CA, satisfies
>> ConstraintSet C:
>>
>> - For each immediate attribute A of C (as defined by HasOwnProperty):
>> - If N, the name of A, is not a member of CA, fail.
>> - If V, the value of A, cannot be interpreted as a
>> ConstraintValues, fail.
>> - If V does not permit any of the allowed values for CA(N), fail.
>> - Set the constraint of N in O to be the intersection of any
>> previous constraint
>> and V. If the result of this intersection is empty, fail.
>> - If satisfaction succeeded, return the newly-constrained object O.
>>
>> Here's where the now-deleted definition of ConstraintSet may come in
>> useful:
>>
>> In this algorithm specification, the access to C is done as if C had
>> the WebIDL definition:
>>
>> [NoInterfaceObject]
>> interface ConstraintSetInternalRepresentation {
>> ConstraintValues getter (DOMString name);
>> };
>>
>> (this may need extension. I'm not sure how. Or it may have no value,
>> and should be deleted.)
>>
>> Does this seem like a precise (and therefore implementable) algorithm?
>>
>>
>>
>>
>>
>>
>> --
>> Surveillance is pervasive. Go Dark.
>
> --
> Jim Barnett
> Genesys
--
Surveillance is pervasive. Go Dark.
Received on Friday, 7 February 2014 04:29:19 UTC