2.8 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.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_extractortool - Added an option to run BCC validator with the tool
- Added a Makefile to
- Refactored
ProvisioningHolderto separate generate, fetch, and load operations
Bug Fixes
- Ignored certain errors during
RemoveOfflineLicense()for apps which have been unprovisioned - Allowed
key_sessionto be equal tooec_sessionwhen removing entitled key sessions
Tests
- Added test
PrintClientAndServerVersionNumberthat 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_LicenseWithRenewaltest 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_UnlimitedPlaybackscenario - 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 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.