Files
ce_cdm/README.md
2024-09-05 07:02:36 +00:00

60 lines
2.4 KiB
Markdown

# Widevine CE CDM 19.3.0
Released 2024-09-04
## 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.3.0
This is a minor release with bug fixes and test improvements, as well as
internal code-quality cleanups that do not affect the CDM's behavior. However,
because of improvements to the BCC Factory Upload Tool, we recommend that all
partners who use this tool upgrade to version 19.3.0.
### Features
- Added workaround for OEMCrypto implementations with slightly corrupted build
information
- The BCC Factory Upload Tool supports new command-line options for dry runs,
batch checks, version-checking, and verbose output.
### Tests
- Added new tests to better validate the behavior of
`OEMCrypto_BuildInformation()`
- Verifies output length is set correctly
- Verifies content is ASCII JSON without trailing null bytes
- Verifies documented JSON fields: required fields are present, and optional
and required fields are the correct JSON types
### Bug Fixes
- Fixed decrypt failures on devices with low TEE memory caused by sending an
output buffer to decrypt that was much larger than necessary
- Several BCC Factory Upload Tool fixes:
- Added the missing `FileSystem::Exists()` function
- Fixed a bug causing the output to be unnecessarily padded
- Fixed an issue where fields containing JSON were not properly escaped
[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/