New issue
Advanced search Search tips

Issue 796725 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Oct 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

EME: Better specify the codecs supported by the CDM

Project Member Reported by jrumm...@chromium.org, Dec 20 2017

Issue description

Currently the set of CDM supported codecs that can be decoded by the CDM is provided in the manifest.json file associated with the CDM. However, the list is rather limited in what is specified:

    "x-cdm-codecs": "vp8,vp9.0,avc1"

From this list, it is impossible to tell if the CDM supports 10-bit H264, for example. It also does not differentiate between audio and video codecs.

This list should be improved to indicate the profile and level (and possibly color space). That way requests from requestMediaKeySystemAccess() can better matched to what the CDM actually supports.

There doesn't appear to be any code in Chromium that supports a set of codecs. One way to do this would be to treat each substring as a regular expression. Another way might be to have a list of "codec.profile.level", but that list might become long. However, profiles often have names (e.g. H264 Baseline, Main, Extended, etc.) and levels aren't simple numbers (e.g. H264 1, 1b, 1.1, etc.)

H264 profiles and levels: https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles
 
Owner: xhw...@chromium.org
Status: WontFix (was: Available)
Currently we are not passing down profiles and just assume the CDM supports what Chrome supports. It's mostly working and is easier to maintain. So we probably should keep doing so.

The only exception so far is VP9 profile 2. Since it's new, we need to be able to differentiate between legacy VP9 (profile 0) and new VP9 (profile 1/2/3). Maybe we can just use fourcc (vp9.0 vs vp09) to work around this issue. 

With that I'll mark this as wontfix since there's no plan to change the current behavior.

Sign in to add a comment