6000f834a0287a056ad1337a2057384560653350
Merge from Widevine repo of http://go/wvgerrit/53883 Note: this CL does not modify license_key_status.cpp because the previous CL already included those changes. OEMCrypto v14 only supports one entitled key per entitlement key at a time. Unfortunately, some partners have use cases that require using old entitlement keys after the new keys have been loaded. Most notably, when a key rotation occurs, the new PSSH will often be loaded before the playback position catches up to the PSSH in the stream, meaning that decryption will need to continue using the old keys for a bit. To fix this, EntitlementKeySession now caches the entitled keys when they are loaded and only loads them under their matching entitlement key when SelectKey() is called. This ensures that the right entitled key is loaded for a given entitlement key before decryption. The entitlement key integration tests have been updated to verify that the old entitled keys still work even after loading new entitled keys. Also, several places in the code that assumed loading new entitled keys would wipe out the old keys have had to be modified. Bug: 78652567 Test: CE CDM Unit Tests Test: tested as part of http://go/ag/4674759 Change-Id: I6fac9dfe2b170ad68fb7cdb5bc8d6a2f35a20c2c
Description
No description provided