- From: Jan-Ivar Bruaroey <jib@mozilla.com>
- Date: Mon, 11 May 2015 11:08:27 -0400
- To: Harald Alvestrand <harald@alvestrand.no>, Charlie Kehoe <ckehoe@google.com>, Justin Uberti <juberti@google.com>
- CC: "public-media-capture@w3.org" <public-media-capture@w3.org>
- Message-ID: <5550C5EB.40207@mozilla.com>
On 5/11/15 6:22 AM, Harald Alvestrand wrote:
> Den 05. mai 2015 00:00, skrev Charlie Kehoe:
>> Any additional thoughts here? The May 15th deadline is not too far away.
> My feeling based on the discussion is that "buffer size" is still the
> wrong number, because it doesn't describe what the user's constraint is.
> "maxMediaDelay" may be more appropriate - "I can tolerate this many
> milliseconds of delay with no impairment to my service" might be a good
> description of semantics.
Agree about buffer size.
Bike-shed: I like the word "latency" (" the delay between the receipt of
a stimulus and the response to it") even better than "delay", as it
sounds like a quality metric that tracks with power cost. I.e. the point
is not to delay, but to choose a service with a lower/higher (latency,
and, inversely, power) rating.
"Media" seems superfluous for media constraints.
Unit prefixes (e.g. *Ms) is uncommon with constraints. E.g. width not
widthPx
I don't seem milliseconds much in our APIs. E.g. for jitter in
RTCInboundRTPStreamStats we use seconds in a double. Perhaps because we
don't use unit-prefixes, perhaps because it lets us express 2.5 ms.
> For systems that deliver low latency in their only available code path,
> they would continue to deliver low latency.
>
> At the other extreme, apps that want low latency could request that
> (using ideal) or require that (using max), and get appropriate behavior.
IMHO we should avoid the word "max" in a constraint to avoid confusion
with constraint min and max values. E.g.
{ maxLatency: { max: 0.250} } // max max?
{ maxLatency: { min: 0.250 } } // min max?
I think ideal can work symmetrically here (plain values are ideal):
{ latency: 0.0025 } // prefer low-latency
{ latency: 0.025 } // prefer high-latency
And users should be allowed to make calls fail either way IMHO:
{ latency: { max: 0.0025 } } // I wanna do something else if not
low-latency
{ latency: { min: 0.025 } } // I wanna do something else if not
high-latency
Lastly, constraints are about abstracting access to shared properties.
Since this use-case is ultimately about power consumption, I think it
fits (e.g. I might want to know if another tab prevents me from actually
getting high-latency, so I can alter my apps's behavior).
.: Jan-Ivar :.
> One good question is what part of the system we measure delay across,
> though.
Received on Monday, 11 May 2015 15:08:57 UTC