Source release 19.2.0
This commit is contained in:
100
README.md
100
README.md
@@ -1,6 +1,6 @@
|
||||
# Widevine CE CDM 19.1.0
|
||||
# Widevine CE CDM 19.2.0
|
||||
|
||||
Released 2024-03-28
|
||||
Released 2024-06-24
|
||||
|
||||
## Getting Started
|
||||
|
||||
@@ -10,99 +10,23 @@ 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.1.0
|
||||
## New in v19.2.0
|
||||
|
||||
Note: Release v19.0 was skipped so that this release's version number matches
|
||||
the OEMCrypto version.
|
||||
This is a minor release with minimal changes.
|
||||
|
||||
## Features
|
||||
|
||||
- Supports up to OEMCrypto v19.1, including new OEMCrypto tests introduced
|
||||
since OEMCrypto v18.
|
||||
- Added support for License Protocol v2.2, which uses SHA256-signed license
|
||||
requests.
|
||||
- Raised the minimum required version of C++ to C++17.
|
||||
- Added a new error code, `kDeviceRevoked`, which requires special handling.
|
||||
- `kDeviceRevoked` may be returned from any method that processes a service
|
||||
response. It indicates that the device's root of trust has been revoked
|
||||
and is no longer trusted.
|
||||
- All service interactions will fail after this, even after a device reboot
|
||||
or factory reset. Apps may want to handle this error by using a different
|
||||
DRM system, if supported.
|
||||
- Devices that support renewal can escape this condition by renewing their
|
||||
root of trust. Root of trust renewal is outside the scope of CE CDM.
|
||||
You'll need to work directly with your Widevine contact.
|
||||
- Added additional logging when license request fails, to help diagnose what
|
||||
went wrong.
|
||||
- Improved support for HDCP v1.0-1.4 version.
|
||||
- `Cdm::getStatusForHdcpVersion()` can now accept a specific HDCP 1.x minor
|
||||
version (specifically 1.0, 1.1, 1.2, 1.3, or 1.4) when checking if
|
||||
content can be decrypted.
|
||||
- The legacy behavior is still available via `Cdm::HdcpVersion::kHdcp1_x`.
|
||||
- See _Bug Fixes_ note about related bug in previous versions.
|
||||
- Added support for Cast provisioning 4.0
|
||||
- Cast uses a slightly different provisioning 4.0 protocol compared
|
||||
to non-Cast cases. The additions to the protocol are internal
|
||||
to the library, and do not require API changes for CE CDM users
|
||||
- Additional tests are included, these tests will automatically
|
||||
skip for device which do not use provisioning 4.0.
|
||||
- Improved performance for unencrypted data provided via `Cdm::decrypt()`.
|
||||
- Some apps are known to always use decrypt calls, even if parts of the
|
||||
data are completely unencrypted. The CDM will now check if samples/
|
||||
sub-samples of decryption batch data can skip the decryption stage
|
||||
and instead directly copied to the secure output.
|
||||
- Various minor performance improvements
|
||||
- Reduced internal data copying.
|
||||
- Test runtime improvements:
|
||||
- Skipped set up for unsupported features.
|
||||
- Improved test data storage management.
|
||||
- Removed unused internal testing fixtures.
|
||||
- Compile time improvements by better dependency checks for third-party
|
||||
libraries.
|
||||
- CE CDM now compiles clean with `-Wunused-parameter`.
|
||||
- Added support for new provisioning flow for baked-in certificates
|
||||
on devices using Widevine's embedded device certificate.
|
||||
- Affected partners should check the L3 OEMCrypto documentation for
|
||||
details.
|
||||
- Added new tests for CE CDM and OEMCrypto v18.5 features.
|
||||
- Improved code performance slightly by reducing copy operations.
|
||||
- Added additional tests to check for problems when moving usage entries.
|
||||
- Supports up to OEMCrypto v19
|
||||
- Added new test data for entitled licenses
|
||||
- Added new tests for clear lead sample decryption
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fixed major issue with loss of offline licenses when stored license count
|
||||
exceeds OEMCrypto's usage table size limit.
|
||||
- Issue only affects users with 300 or more downloaded offline licenses
|
||||
across all apps.
|
||||
- Fixed major issue with memory corruption when apps misuse the API by making
|
||||
certain key operations before license is loaded.
|
||||
- Specifically, if an app generates a license request via
|
||||
`Cdm::generateRequest()`, then calls `Cdm::remove()` before
|
||||
`Cdm::update()` with the license response it can cause the CDM to crash.
|
||||
- Fixed mistaken test failures when the CE CDM and OEMCrypto versions were not
|
||||
identical.
|
||||
- Fixed an issue with DRM certificate serial number stability for
|
||||
provisioning 4.0 devices.
|
||||
- This only affected very specific devices when going through their
|
||||
specific factory reset process.
|
||||
- Added additional tests to catch future, similar errors.
|
||||
- Fixed an issue with `Cdm::getKeyStatuses()` reporting error for certain
|
||||
licenses which use specific HDCP v1.x minor versions.
|
||||
- Fixed an issue with URL parsing in test code for renewal requests
|
||||
- Certain tests used special URL parameters which were not properly
|
||||
accounted for in the CE CDM's test utility code; this caused tests
|
||||
to fail on otherwise working devices.
|
||||
- Fixed the CAS tests sometimes not being skipped on non-CAS-supporting
|
||||
devices.
|
||||
- Removed tests that explicitly tested against Widevine's staging
|
||||
provisioning servers.
|
||||
- Fixed minor issue with tests which were generating many warnings from
|
||||
expected behavior.
|
||||
- These warning did not cause the tests to fail, but created a lot of noise
|
||||
when trying to diagnose other failures
|
||||
- Fixed a potential out-of-bounds read in the logging code for certain
|
||||
invalid severity level values.
|
||||
- Fixed many minor issues identified via static analysis.
|
||||
- Fixed backwards compatibility issues found in License Protocol v2.2
|
||||
- Improved error logging for tests
|
||||
- Small fixes to reduce compiler warning
|
||||
- Fixed URL error found for tests using different license server SDK
|
||||
- Skip CAS tests on non-CAS devices
|
||||
|
||||
[CHANGELOG.md](./CHANGELOG.md) lists the major changes for each past release.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user