cdm: Mark CDM_10 interface as stable

After a CDM interface is marked as stable, it should not change. Thus,
browsers can start supporting the CDM interface by default, and CDM
vendors can start shipping CDMs using that interface.

Also update README.md to explain experimental CDM interfaces.

Bug: 733821
Change-Id: I7b124d26ecf5788ba77a5a18acbef0e1a1af912c
Reviewed-on: https://chromium-review.googlesource.com/1030950
Reviewed-by: Haoming Chen <hmchen@chromium.org>
Reviewed-by: Rintaro Kuroiwa <rkuroiwa@chromium.org>
3 files changed
tree: d238d7cfeeb5f6ff74a974e6a471a99c4ce3c64a
  1. codereview.settings
  2. content_decryption_module.h
  3. content_decryption_module_export.h
  4. content_decryption_module_ext.h
  5. content_decryption_module_proxy.h
  6. OWNERS
  7. README.md
README.md

Library CDM Interface

This directory contains files that define the shared library interface between an Encrypted Media Extensions (EME) Content Decryption Module (CDM) and Chromium or other user agents. It is used to build both user agents and CDMs.

This is also referred to as the “CDM interface” in the context of library CDM and in this doc.

TODO(xhwang): Add more sections describing the CDM interface.

Experimental and Stable CDM interface

A new CDM interface that‘s still under development is subject to change. This is called an “experimental CDM interface”. To avoid compatibility issues, a user agent should not support an experimental CDM interface by default (it’s okay to support it behind a flag). Similarly, a CDM vendor should not ship a CDM using an experimental CDM interface to end users.

The experimental status of a CDM interface ends when the development is complete and the CDM interface is marked as stable.

On newer CDM interfaces, a static boolean member kIsStable is present to indicate whether the CDM interface is stable or experimental.