"video/webm; codecs="vp9" should reject with navigator.mediaCapabilities.decodingInfo |
||||
Issue description
Chrome Version : 64.0.3261.0
OS Version: 10109.0.0
What steps will reproduce the problem?
1. Open DevTools JS console and run code below:
await navigator.mediaCapabilities.decodingInfo({type: 'file', video: {
contentType: 'video/webm; codecs="vp9"',
width: 800,
height: 600,
bitrate: 3000,
framerate: 24,
}})
What is the expected result?
It should tell me what the contentType is not precise enough by rejecting the promise.
What happens instead of that?
It says it is not supported while VP9 profile 0, profile 1 and profile 2 are all supported when I pass the appropriate contentType.
You can see it as well at https://beaufortfrancois.github.io/sandbox/media-capabilities/decoding-info.html
,
Nov 9 2017
I agree with this. chcunningham@, any concern? I think we might need to make the spec clearer about this though.
,
Nov 9 2017
Agree with the above (and making spec clear on this point). The plumbing to reject vp9 as ambiguous is all in place - it just needs a one line change in some mime util code. Mounir, I can have a CL ready shortly.
,
Nov 9 2017
,
Nov 9 2017
Thanks :) I was thinking of moving some code a bit. I think we could remove the media/blink/ layer but that's probably something for me to play with one evening :)
,
Nov 16 2017
Turns out we already mark "vp9" as unsupported. We don't reject the promise in these cases, just return an info object that says is_supported = false. I added a browser test for this here: https://cs.chromium.org/chromium/src/content/browser/media/media_capabilities_browsertest.cc?l=91 The spec text seems OK with this. We had some discussion a long time back about exceptions vs supported = false for mimes that are valid, but not supported. https://github.com/WICG/media-capabilities/pull/35#discussion_r110692091 I'll update the layout tests to use the vp09 codec string to avoid confusion.
,
Nov 17 2017
Quick thought: Shall we just assume codecs="vp9" is equal to codecs="vp09.00.10.08" so that it returns supported = true at least in Chrome?
,
Nov 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/759bef183623c913a786482868446481fdd7cc89 commit 759bef183623c913a786482868446481fdd7cc89 Author: Chris Cunningham <chcunningham@chromium.org> Date: Fri Nov 17 11:38:06 2017 Replace vp9 with vp09... in MediaCapabilities LayoutTests vp9 is ambiguous about important details like codec profile. vp09.... specifies the missing details. http://www.webmproject.org/vp9/mp4/#codecs-parameter-string Using the ambiguous vp9 string will cause the returned MediaCapabilitiesInfo to mark is_supported=false. The tests don't actually check this value, but we should use the right string to set a good example. Bug: 783153 Change-Id: I51a00c0ef3a3efedb70336894d3b17f786284156 Reviewed-on: https://chromium-review.googlesource.com/775903 Reviewed-by: Mounir Lamouri <mlamouri@chromium.org> Commit-Queue: Mounir Lamouri <mlamouri@chromium.org> Cr-Commit-Position: refs/heads/master@{#517382} [modify] https://crrev.com/759bef183623c913a786482868446481fdd7cc89/third_party/WebKit/LayoutTests/external/wpt/media-capabilities/decodingInfo.html
,
Nov 17 2017
> Quick thought: Shall we just assume codecs="vp9" is equal to codecs="vp09.00.10.08" so that it returns supported = true at least in Chrome? I'd prefer not to. "vp9" has been used for some time to describe the full umbrella of vp9 profiles, levels, and bit depths - its not associated with vp09.00.10.08 (profile 0, level 1, bitdepth 8). I'd like to hold line on MediaCapabilities requiring fully specified mime strings. But I think this is another thing we could surface via a chrome://media-internals tab for media capabilities. The tab could contain logs to explain why support was rejected for a given query.
,
Nov 17 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by mlamouri@chromium.org
, Nov 9 2017