This is a summary of what's discussed in https://chromiumcodereview.appspot.com/2881443002/, mostly from ddorwin's comments. (Thanks!).
1, In EmeCodec, remove the container type, e.g. EME_CODEC_WEBM_OPUS -> EME_CODEC_OPUS.
2. COMMON_VP9 should be just VP9, and WEBM_VP9 should be VP9_LEGACY. For now we still need these two VP9 enums because most CDMs supports VP9_LEGAY (vp9), but support of VP9 (vp09) is still in development, e.g. for profile 2/3.
3. On Android, we query a combination of codec and container mime type (e.g. vp9 and video/webm). However, the real purpose of the container mime type query is to know whether certain initdata type is supported (e.g. webm) for a key system. And AndroidPlatformKeySystemProperties::IsSupportedInitDataType() abuses the container part of an EmeCodec. We should explicitly query initdata type support, which should be independent of codec support query. Also see issue 589521.
4 There are some things we should clean up in key_systems.cc:
* kCodecStrings probably doesn't need separate enum values. It is used to convert strings to an enum.
* We can remove vp8.0 and vp9.0 from that table because the strings are stripped.
* That table should be renamed to include "Stripped" or similar.
* The name of codec_string_map_ and parameters that are passed to methods that use it should also be updated.
Comment 1 by ddorwin@chromium.org
, May 19 2017