Ship HTMLVideoElement.getVideoPlaybackQuality? |
||||||||
Issue descriptionIn doing an API interop scrub (using markdittmer@'s tool to compare the exposed API surface area of all major browsers) we've found there's exactly ONE API that's shipped by every other major browser (Safari, Edge and Firefox) but not Chrome: HTMLVideoElement.getVideoPlaybackQuality Spec: https://wicg.github.io/media-playback-quality/#idl-def-htmlvideoelement-getvideoplaybackquality() It looks like this was implemented back in 2013 in issue 313406 behind a flag but never shipped. acolwell/wolenetz are there any active plans to ship this?
,
Sep 7 2016
,
Sep 7 2016
+mlamouri@, ddorwin@: The "getVideoPlaybackQuality()" method and related objects have been removed from MSE spec v1. The spec for it was immature, not well tested, didn't really belong in MSE, shouldn't have been spec'ed to be specific to just video (and not audio), and left open a few holes around discovery and interpretation of exposed "quality" metrics in various implementations. Chrome has it implemented, but it's behind the experimental flag. Mounir's spinning up a Media Capabilities spec that will make this feature more reusable. Meanwhile, we expose the necessary prefixed metrics in stable that YT and other sites really need.
,
Sep 10 2016
Thanks. It was Mounir's spec that I found (see description) that led me to assume this is not deprecated. Is the behavior of this API in the other browsers roughly interoperable already? If so, aren't we kind of past the point of trying to design the API correctly? It's likely too late for that - what some spec says isn't really relevant if it doesn't resemble what's already in wide deployment.
,
Sep 13 2016
rbyers@, the compat situation is unfortunately not simple. The API as it used to be described by the MSE spec wasn't implemented by all browsers. There were some information that were not exposed (totalFrameDelay), wrongly exposed (corruptedFrames). You can see for example, Mozilla's implementation: https://dxr.mozilla.org/mozilla-central/source/dom/html/HTMLVideoElement.cpp#238 The two real values here are totalFrames and droppedFrames. However, even droppedFrames doesn't provide a real and useful information. Some browser might never drop frames but instead delay them. The Media Playback Quality spec is a fork of the MSE VideoPlaybackQuality in order to have a better API shape but also something that websites will be able to use reliably. Keeping the current MSE API in the spec is obviously an option if it has concrete compat issue for developers.
,
Sep 13 2016
Is it "just" a matter of defining the attributes to do something useful? The names seem to be the same in Gecko and https://wicg.github.io/media-playback-quality/#idl-def-videoplaybackquality at least.
,
Sep 13 2016
The spec is still WIP. I think we will use different API entry point to avoid breaking implementations of the MSE version of the spec.
,
Sep 13 2016
Is video.getVideoPlaybackQuality() really so broken that an interoperable intersection that's still useful can't be found? Somewhat related is also that any new API can hopefully replace webkitDecodedFrameCount and webkitDroppedFrameCount as well.
,
Sep 26 2016
mlamouri: It sounds like there's an open issue on the spec here (whether the API should keep this name, etc.), right? I don't see an issue in GitHub for that, do you want to file one? Then we can consider this impl bug as blocked (ExternalDependency) on the spec issue.
,
Sep 27 2016
This bug shouldn't be in unconfirmed status. Assign to rbyers@ to start, please re-assign appropriately.
,
Sep 28 2016
rbyers, WDYT of https://github.com/WICG/media-playback-quality/issues/7 ?
,
Sep 29 2016
Looks good, thanks Mounir. I've added some data to the spec issue, and we can leave this impl bug blocked on a resolution to the spec issue.
,
Apr 19 2017
,
Aug 2 2017
Feedback requested on https://github.com/WICG/media-playback-quality/issues/7 from Chromium developers who have thought about implementing this, how feasible is it to ship this in Chromium and then add more bits to the spec if these metrics aren't the best that could exist.
,
Aug 3 2017
,
Sep 12 2017
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues. We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate. For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit For any questions, please contact owencm, sshruthi, larforge |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by rbyers@chromium.org
, Sep 7 2016