Avoid re-initializing CDM properties
[ Merge of http://go/wvgerrit/35405 ] Devices that launch with android O as their first release have SPOIDs (Stable Per-Origin IDentifier) enabled. This results in multiple CdmEngine instances, one for each CDM identifier (that differ by app package name possibly origin). Each time a CDMEngine object is created, the CDM properties are reinitialized. This causes certain property information stored on a session basis (privacy mode, service certificate, session sharing) to be lost. Since Query calls are not app specific, they can often result in CdmEngine object creation, causing existing sessions to lose associated property information. This can be avoided by initializing CDM proerpties only once. Bug: 65732345 Test: WV unit/integration tests Test: GTS tests Test: Playback using Google Play, Netflix and YT Live Change-Id: Ic121f322ed6e45e2033964e6439c026de2401b4c
This commit is contained in:
@@ -69,8 +69,8 @@ CdmEngine::CdmEngine(FileSystem* file_system, const std::string& spoid)
|
||||
usage_session_(NULL),
|
||||
last_usage_information_update_time_(0) {
|
||||
assert(file_system);
|
||||
Properties::Init();
|
||||
if (!seeded_) {
|
||||
Properties::Init();
|
||||
srand(clock_.GetCurrentTime());
|
||||
seeded_ = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user