2.1 KiB
Widevine CE CDM 19.5.0
Released 2025-04-02
Getting Started
This project contains the sources for building a Widevine CDM module. Read the following to learn more about the contents of this project and how to use them:
The Widevine Developer Site documents the CDM API and describes how to integrate the CDM into a system.
New in v19.6.0
Features
- Added "form factor" and "platform" to client ID.
Bug Fixes
- Gracefully handle OEMCrypto_GenerateNonce() implementations that set the nonce reference argument to zero on failure.
- Cleaned up
CertificateProvisioningstate. This prevents mismatched public and private cert keys when an app makes multiple provisioning 4.0 requests. - Implemented various small fixes suggested by clang-format and clang-tidy.
Tests
- Updated
OEMCryptoClientTest.CheckBuildInformation_OutputLengthAPI17to accept a returned SHORT_BUFFER size that is larger than the actual required size. - Updated
OEMCryptoClientTest.CheckJsonBuildInformationAPI18to treat the JSON fields in thereeblock as optional.
Dependency Updates
- Updated libcppbor to 61d9bff9605ad2ffd877bd99a3bde414e21f01a2. Modifed some Android-specific include names in order to compile correctly without Android.
CHANGELOG.md lists the major changes for each past release.
Contains No OEMCrypto
The CE CDM requires an implementation of OEMCrypto, our hardware abstraction layer, in order to compile and run successfully. If you are an OEMCrypto implementer, you should have access to the OEMCrypto partner repository, which contains additional source code and information about implementing OEMCrypto, including the Widevine-written OEMCrypto implementation, the OEMCrypto Porting Kit. (OPK) If you are not an OEMCrypto implementer, then you will need to get an OEMCrypto implementation from your SoC manufacturer before you can use the CE CDM.