- 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