Files
ce_cdm/README.md
2025-04-02 10:27:18 -07:00

74 lines
2.8 KiB
Markdown

# 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][wv-devsite] documents the CDM API and describes
how to integrate the CDM into a system.
## New in v19.5.0
This is a minor release with bug fixes, test improvements, and dependency
updates.
### Features
- Updated `HasRootOfTrustBeenRenewed()` to detect Drm Reprovisioning
- Updated CE BCC extraction tool:
- Added a Makefile to `wv_factory_extractor` tool
- Added an option to run BCC validator with the tool
- Refactored `ProvisioningHolder` to separate generate, fetch, and load
operations
### Bug Fixes
- Ignored certain errors during `RemoveOfflineLicense()` for apps which have
been unprovisioned
- Allowed `key_session` to be equal to `oec_session` when removing entitled
key sessions
### Tests
- Added test `PrintClientAndServerVersionNumber` that prints the core message
info for both provisioning and license request/response
- Updated provisioning server version test to accommodate v16 responses
- Relaxed BCC validation test requirements, downgrading non-critical errors
to warnings and improving output clarity
- Added integration test to verify that renewal is not needed before renewal
delay seconds
- Added check to verify that renewals include client ID when "always includes
client ID" is true
- Updated `CdmUseCase_LicenseWithRenewal` test to verify that request has
correct info for persistent license
- Added a test to verify PST with length 127 succeeds
- Added new duration tests:
- A test for loading licenses unrelated to the content being played back
- Tests for the `30sSoftRental_UnlimitedPlayback` scenario
- Tests with past and future license start time policies
- Tests for short playback timers with unlimited rental duration
### Dependency Updates
- Updated BoringSSL to latest (e4b6d4f7)
- Updated googletest to latest (4902ea2)
[CHANGELOG.md](./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][oec-repo], 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.
[wv-devsite]: https://developers.google.com/widevine/drm/client/ce-cdm
[oec-repo]: https://widevine-partner.googlesource.com/oemcrypto/