Contact emails
chcunn...@chromium.org, mlam...@chromium.org
Explainer
Way back in 2016, this API was extracted from the Media Source Extensions (MSE) specification (discussion).
Spec
https://w3c.github.io/media-playback-quality/
A tag review was not requested (given the age of the spec, and existing implementations).
Summary
This API tells sites how a video playback is performing. When performance is poor, sites may use the information to reduce the video bitrate / framerate / resolution for a better user experience.
Edge, Firefox, and Safari shipped the API quite some time (years) ago. Chrome implemented behind a flag (MediaSourceExperimental) and shipped parts of the API as webkit prefixed attributes: webkitDecodedFrameCount and webkitDroppedFrameCount.
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Debuggability
The API is a simple getter for a bag of performance metrics. Debugging is generally not expected.
Poor video performance may sometimes be the fault of the site. Sites should use existing page profiling tools to ensure optimal performance. Poor performance may also be due to the device's limited capabilities (CPU, GPU, memory, load). In both cases, sites should monitor the playback quality stats and dynamically select a lower complexity of video if performance is poor.
Risks
Interoperability and Compatibility
No interop risk.
Edge: Shipped
Firefox: Shipped
Safari: Shipped
Web / Framework developers: Supportive (used across numerous video sites)
Ergonomics
The API will frequently be used with MSE (which facilitates dynamic changes to video resolution / framerate / bitrate).
The API is functional and widely used, but it's not easy. As is, sites must poll the API at an interval of their choosing to learn when new frames are dropped. They may externally track the ratio of dropped/decoded video frames in a windowed average to evaluate performance over time.
But the above is also true of our existing prefixed attributes. The pain of prefixing is well known. Additionally, the new API is preferred because it returns related statistics in an atomic snapshot.
Once shipped, we will explore new events / additions to improve on the ergonomic pitfalls above.
Activation
Shipping this API will allow developers to delete polyphils that bridged the gap between Chrome and other UAs.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
Interface test
https://github.com/web-platform-tests/wpt/blob/master/media-playback-quality/idlharness.window.js
Behavior test (dated assumptions - I will update this prior to shipping)
Entry on the feature dashboard
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6eSrD1TqCv72QDNR5SDYaq5GfX2kgUSLdkrp08%2BVkb_oYZg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3fcff193-87af-df0a-f38f-d61029254b86%40mit.edu.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/26568add-63ff-55eb-d5f2-d628438614b7%40mit.edu.
LGTM2
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEg6dSKL1o6wPEYG4keibkEnGUqZmokrkcjrOnzSwokBNw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3a2a1e3e-51ab-38d7-d120-bb6da579cba2%40gmail.com.
:P I'm only mostly OOO> Great, so presumably it'll be dropped from our implementation (or put behind a flag) before shipping too, right?We might consider a slower deprecation. While the attribute has no clear implementation, that doesn't mean sites out there aren't calling it (ex: if only to log it). We never shipped, so we don't know what its usage looks like atm.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6eSpfCDQjZENLQwa0X5bauDZPJvk9LHD0GwgPVQ5sdAX7SQ%40mail.gmail.com.
Alternatively, happy to add the deprecated note to the spec.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d5f884ee-260e-4d13-bacd-0b3bcc290f54%40chromium.org.