diff --git a/libwvdrmengine/cdm/test/request_license_test.cpp b/libwvdrmengine/cdm/test/request_license_test.cpp index 4e3d7907..80ecaf09 100644 --- a/libwvdrmengine/cdm/test/request_license_test.cpp +++ b/libwvdrmengine/cdm/test/request_license_test.cpp @@ -1620,7 +1620,7 @@ class TestWvCdmEventListener : public WvCdmEventListener { class DecryptCallbackTester { public: - DecryptCallbackTester(wvcdm::WvContentDecryptionModule* decryptor, + DecryptCallbackTester(android::sp decryptor, SubSampleInfo* sub_sample_info) : decryptor_(decryptor), sub_sample_info_(sub_sample_info) {} @@ -1628,7 +1628,7 @@ class DecryptCallbackTester { void Decrypt(const CdmSessionId& session_id, const CdmKeyStatusMap& /* keys_status */, bool /* has_new_usable_key */) { - EXPECT_TRUE(decryptor_ != NULL); + EXPECT_TRUE(decryptor_.get() != NULL); EXPECT_TRUE(sub_sample_info_ != NULL); std::vector decrypt_buffer(sub_sample_info_->encrypt_data.size()); @@ -1645,7 +1645,7 @@ class DecryptCallbackTester { } private: - wvcdm::WvContentDecryptionModule* decryptor_; + android::sp decryptor_; SubSampleInfo* sub_sample_info_; }; @@ -1669,7 +1669,9 @@ class TestWvCdmHlsEventListener : public WvCdmEventListener { class WvCdmRequestLicenseTest : public WvCdmTestBase { public: - WvCdmRequestLicenseTest() : license_type_(kLicenseTypeStreaming) {} + WvCdmRequestLicenseTest() + : decryptor_(new wvcdm::WvContentDecryptionModule()), + license_type_(kLicenseTypeStreaming) {} ~WvCdmRequestLicenseTest() {} protected: @@ -1734,7 +1736,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { std::string key_set_id; license_type_ = license_type; EXPECT_EQ(expected_response, - decryptor_.GenerateKeyRequest( + decryptor_->GenerateKeyRequest( session_id_, key_set_id, init_data_type, init_data, license_type, app_parameters, property_set, cdm_identifier, &key_request)) @@ -1762,7 +1764,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { wvcdm::CdmAppParameterMap app_parameters; CdmKeyRequest key_request; EXPECT_EQ(wvcdm::KEY_MESSAGE, - decryptor_.GenerateKeyRequest( + decryptor_->GenerateKeyRequest( session_id_, key_set_id_, "video/mp4", init_data, license_type, app_parameters, NULL, kDefaultCdmIdentifier, &key_request)); @@ -1779,7 +1781,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { wvcdm::CdmAppParameterMap app_parameters; CdmKeyRequest key_request; CdmResponseType status = - decryptor_.GenerateKeyRequest( + decryptor_->GenerateKeyRequest( session_id_, key_set_id_, "video/mp4", init_data, license_type, app_parameters, NULL, kDefaultCdmIdentifier, &key_request); @@ -1803,7 +1805,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { wvcdm::CdmAppParameterMap app_parameters; CdmKeyRequest key_request; EXPECT_EQ(wvcdm::KEY_MESSAGE, - decryptor_.GenerateKeyRequest( + decryptor_->GenerateKeyRequest( session_id, key_set_id, "video/mp4", init_data, kLicenseTypeRelease, app_parameters, property_set, kDefaultCdmIdentifier, &key_request)); @@ -1922,7 +1924,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { std::string* response) { *response = GetKeyRequestResponse(server_url, client_auth); - EXPECT_EQ(decryptor_.AddKey(session_id_, *response, &key_set_id_), + EXPECT_EQ(decryptor_->AddKey(session_id_, *response, &key_set_id_), expected_response); EXPECT_EQ(is_usage || license_type_ == kLicenseTypeOffline, key_set_id_.size() > 0); @@ -1943,9 +1945,9 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { decryption_parameters.is_encrypted = data.is_encrypted; decryption_parameters.is_secure = data.is_secure; decryption_parameters.subsample_flags = data.subsample_flags; - CdmResponseType status = decryptor_.Decrypt(session_id, - data.validate_key_id, - decryption_parameters); + CdmResponseType status = decryptor_->Decrypt(session_id, + data.validate_key_id, + decryption_parameters); EXPECT_EQ(expected_response, status); if (status != NO_ERROR) return false; @@ -1958,9 +1960,9 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { void Unprovision() { EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(kSecurityLevelL1, kDefaultCdmIdentifier)); + decryptor_->Unprovision(kSecurityLevelL1, kDefaultCdmIdentifier)); EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(kSecurityLevelL3, kDefaultCdmIdentifier)); + decryptor_->Unprovision(kSecurityLevelL3, kDefaultCdmIdentifier)); } void Provision(SecurityLevel level) { @@ -1976,11 +1978,11 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { property_set = &property_set_L3; } - CdmResponseType status = decryptor_.OpenSession( + CdmResponseType status = decryptor_->OpenSession( config_.key_system(), property_set, identifier, NULL, &session_id_); switch (status) { case NO_ERROR: - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); return; case NEED_PROVISIONING: break; @@ -1993,7 +1995,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - status = decryptor_.GetProvisioningRequest(cert_type, cert_authority, + status = decryptor_->GetProvisioningRequest(cert_type, cert_authority, identifier, kEmptyServiceCertificate, &key_msg_, &provisioning_server); @@ -2005,26 +2007,26 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.HandleProvisioningResponse(identifier, response, + decryptor_->HandleProvisioningResponse(identifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); return; } std::string GetSecurityLevel(TestWvCdmClientPropertySet* property_set) { EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), property_set, + decryptor_->OpenSession(config_.key_system(), property_set, kDefaultCdmIdentifier, NULL, &session_id_)); CdmQueryMap query_info; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QuerySessionStatus(session_id_, &query_info)); + decryptor_->QuerySessionStatus(session_id_, &query_info)); CdmQueryMap::iterator itr = query_info.find(wvcdm::QUERY_KEY_SECURITY_LEVEL); EXPECT_TRUE(itr != query_info.end()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); if (itr != query_info.end()) { return itr->second; } else { @@ -2048,7 +2050,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { uint32_t QueryStatus(SecurityLevel security_level, const std::string& key) { std::string str; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(security_level, key, &str)); + decryptor_->QueryStatus(security_level, key, &str)); std::istringstream ss(str); uint32_t value; @@ -2058,7 +2060,7 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { return value; } - wvcdm::WvContentDecryptionModule decryptor_; + android::sp decryptor_; CdmKeyMessage key_msg_; CdmSessionId session_id_; CdmKeySetId key_set_id_; @@ -2068,14 +2070,14 @@ class WvCdmRequestLicenseTest : public WvCdmTestBase { TEST_F(WvCdmRequestLicenseTest, ProvisioningTest) { Unprovision(); EXPECT_EQ(NEED_PROVISIONING, - decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id_)); + decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id_)); std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, @@ -2085,26 +2087,26 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, ProvisioningTestWithServiceCertificate) { CdmResponseType status = - decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id_); EXPECT_TRUE(status == NEED_PROVISIONING || status == NO_ERROR) << "Failure to open session. error: " << status; std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kGoogleStagingServiceCertificate, @@ -2114,27 +2116,27 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningTestWithServiceCertificate) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, L3ProvisioningTest) { TestWvCdmClientPropertySet property_set_L3; property_set_L3.set_security_level(QUERY_VALUE_SECURITY_LEVEL_L3); CdmResponseType status = - decryptor_.OpenSession(config_.key_system(), &property_set_L3, - kDefaultCdmIdentifier, NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set_L3, + kDefaultCdmIdentifier, NULL, &session_id_); EXPECT_TRUE(status == NEED_PROVISIONING || status == NO_ERROR) << "Failure to open session. error: " << status; std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, @@ -2144,29 +2146,30 @@ TEST_F(WvCdmRequestLicenseTest, L3ProvisioningTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, PerOriginProvisioningTest) { EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(kSecurityLevelL3, kExampleIdentifier)); + decryptor_->Unprovision(kSecurityLevelL3, kExampleIdentifier)); // Verify the global identifier is provisioned. EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_)); - decryptor_.CloseSession(session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, + NULL, &session_id_)); + decryptor_->CloseSession(session_id_); // The other identifier should not be provisioned. EXPECT_EQ( wvcdm::NEED_PROVISIONING, - decryptor_.OpenSession(config_.key_system(), NULL, kExampleIdentifier, NULL, - &session_id_)); + decryptor_->OpenSession(config_.key_system(), NULL, kExampleIdentifier, + NULL, &session_id_)); } TEST_F(WvCdmRequestLicenseTest, PerOriginProvisioningSupportsOldPaths) { @@ -2178,9 +2181,9 @@ TEST_F(WvCdmRequestLicenseTest, PerOriginProvisioningSupportsOldPaths) { // Unprovision the device and delete all files. EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(kSecurityLevelL3, kExampleIdentifier)); + decryptor_->Unprovision(kSecurityLevelL3, kExampleIdentifier)); EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(kSecurityLevelL3, kDefaultCdmIdentifier)); + decryptor_->Unprovision(kSecurityLevelL3, kDefaultCdmIdentifier)); Provision(kExampleIdentifier, kLevel3); std::string base_path; @@ -2213,27 +2216,27 @@ TEST_F(WvCdmRequestLicenseTest, UnprovisionTest) { &serial_number, &system_id)); EXPECT_EQ(NO_ERROR, - decryptor_.Unprovision(security_level, kDefaultCdmIdentifier)); + decryptor_->Unprovision(security_level, kDefaultCdmIdentifier)); EXPECT_FALSE(handle.RetrieveCertificate(&certificate, &wrapped_private_key, &serial_number, &system_id)); } TEST_F(WvCdmRequestLicenseTest, ProvisioningInterposedRetryTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; CdmKeyMessage key_msg1, key_msg2; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg1, &provisioning_server)); EXPECT_EQ(provisioning_server, config_.provisioning_server()); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg2, @@ -2244,7 +2247,7 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningInterposedRetryTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); @@ -2254,30 +2257,30 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningInterposedRetryTest) { response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.HandleProvisioningResponse(kDefaultCdmIdentifier, + decryptor_->HandleProvisioningResponse(kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, ProvisioningInterspersedRetryTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; std::string key_msg1, key_msg2; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg1, &provisioning_server)); EXPECT_EQ(provisioning_server, config_.provisioning_server()); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg2, @@ -2289,7 +2292,7 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningInterspersedRetryTest) { GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); EXPECT_EQ(wvcdm::REWRAP_DEVICE_RSA_KEY_ERROR, - decryptor_.HandleProvisioningResponse(kDefaultCdmIdentifier, + decryptor_->HandleProvisioningResponse(kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); @@ -2298,17 +2301,17 @@ TEST_F(WvCdmRequestLicenseTest, ProvisioningInterspersedRetryTest) { key_msg_ = key_msg2; response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(0, static_cast(cert.size())); EXPECT_EQ(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, DISABLED_X509ProvisioningTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); std::string provisioning_server; CdmCertificateType cert_type = kCertificateX509; @@ -2316,7 +2319,7 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_X509ProvisioningTest) { std::string cert_authority = "cast.google.com"; std::string cert, wrapped_key; - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, @@ -2326,12 +2329,12 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_X509ProvisioningTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_NE(0, static_cast(cert.size())); EXPECT_NE(0, static_cast(wrapped_key.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { @@ -2344,12 +2347,12 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { property_set_L1.set_security_level(QUERY_VALUE_SECURITY_LEVEL_L1); property_set_L1.set_use_privacy_mode(true); - decryptor_.OpenSession(config_.key_system(), &property_set_L1, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set_L1, kDefaultCdmIdentifier, NULL, &session_id_L1); property_set_L3.set_security_level(QUERY_VALUE_SECURITY_LEVEL_L3); property_set_L3.set_use_privacy_mode(false); - CdmResponseType sts = decryptor_.OpenSession( + CdmResponseType sts = decryptor_->OpenSession( config_.key_system(), &property_set_L3, kDefaultCdmIdentifier, NULL, &session_id_L3); @@ -2357,7 +2360,7 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, &provisioning_server)); @@ -2365,24 +2368,24 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), &property_set_L3, - kDefaultCdmIdentifier, NULL, - &session_id_L3)); + decryptor_->OpenSession(config_.key_system(), &property_set_L3, + kDefaultCdmIdentifier, NULL, + &session_id_L3)); } else { EXPECT_EQ(NO_ERROR, sts); } property_set_Ln.set_security_level(""); - decryptor_.OpenSession(config_.key_system(), &property_set_Ln, kDefaultCdmIdentifier, - NULL, &session_id_Ln); + decryptor_->OpenSession(config_.key_system(), &property_set_Ln, + kDefaultCdmIdentifier, NULL, &session_id_Ln); CdmQueryMap query_info; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QuerySessionStatus(session_id_L1, &query_info)); + decryptor_->QuerySessionStatus(session_id_L1, &query_info)); CdmQueryMap::iterator itr = query_info.find(wvcdm::QUERY_KEY_SECURITY_LEVEL); EXPECT_TRUE(itr != query_info.end()); std::string security_level = itr->second; @@ -2391,7 +2394,7 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { EXPECT_TRUE(Properties::UsePrivacyMode(session_id_L1)); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QuerySessionStatus(session_id_L3, &query_info)); + decryptor_->QuerySessionStatus(session_id_L3, &query_info)); itr = query_info.find(wvcdm::QUERY_KEY_SECURITY_LEVEL); EXPECT_TRUE(itr != query_info.end()); security_level = itr->second; @@ -2399,7 +2402,7 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { EXPECT_FALSE(Properties::UsePrivacyMode(session_id_L3)); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QuerySessionStatus(session_id_Ln, &query_info)); + decryptor_->QuerySessionStatus(session_id_Ln, &query_info)); itr = query_info.find(wvcdm::QUERY_KEY_SECURITY_LEVEL); EXPECT_TRUE(itr != query_info.end()); security_level = itr->second; @@ -2414,9 +2417,9 @@ TEST_F(WvCdmRequestLicenseTest, PropertySetTest) { EXPECT_TRUE(Properties::GetApplicationId(session_id_Ln, &app_id)); EXPECT_STREQ("com.unittest.mock.app.id", app_id.c_str()); - decryptor_.CloseSession(session_id_L1); - decryptor_.CloseSession(session_id_L3); - decryptor_.CloseSession(session_id_Ln); + decryptor_->CloseSession(session_id_L1); + decryptor_->CloseSession(session_id_L3); + decryptor_->CloseSession(session_id_Ln); } TEST_F(WvCdmRequestLicenseTest, ForceL3Test) { @@ -2429,12 +2432,12 @@ TEST_F(WvCdmRequestLicenseTest, ForceL3Test) { EXPECT_TRUE(handle.DeleteAllFiles()); EXPECT_EQ(NEED_PROVISIONING, - decryptor_.OpenSession(config_.key_system(), &property_set, - kDefaultCdmIdentifier, NULL, &session_id_)); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_)); std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, &provisioning_server)); @@ -2442,35 +2445,35 @@ TEST_F(WvCdmRequestLicenseTest, ForceL3Test) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), &property_set, - kDefaultCdmIdentifier, NULL, - &session_id_)); + EXPECT_EQ(NO_ERROR, + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_)); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, PrivacyModeTest) { TestWvCdmClientPropertySet property_set; property_set.set_use_privacy_mode(true); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); std::string resp = GetKeyRequestResponse(config_.license_server(), config_.client_auth()); - EXPECT_EQ(decryptor_.AddKey(session_id_, resp, &key_set_id_), + EXPECT_EQ(decryptor_->AddKey(session_id_, resp, &key_set_id_), wvcdm::NEED_KEY); const std::string empty_init_data; // Verify cached initialization data from previous request is used when // empty initialization data is passed. GenerateKeyRequest(empty_init_data, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, PrivacyModeWithServiceCertificateTest) { @@ -2479,27 +2482,27 @@ TEST_F(WvCdmRequestLicenseTest, PrivacyModeWithServiceCertificateTest) { property_set.set_use_privacy_mode(true); property_set.set_service_certificate(config_.license_service_certificate()); // TODO: pass config_.service_certificate() into CdmEngine::SetServiceCertificate() - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, BaseMessageTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); GetKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, AddStreamingKeyTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, AddKeyOfflineTest) { @@ -2511,11 +2514,11 @@ TEST_F(WvCdmRequestLicenseTest, AddKeyOfflineTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, RestoreOfflineKeyTest) { @@ -2527,20 +2530,20 @@ TEST_F(WvCdmRequestLicenseTest, RestoreOfflineKeyTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, ReleaseOfflineKeyTest) { @@ -2552,21 +2555,21 @@ TEST_F(WvCdmRequestLicenseTest, ReleaseOfflineKeyTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -2588,21 +2591,21 @@ TEST_F(WvCdmRequestLicenseTest, ReleaseOfflineKeySessionUsageDisabledTest) { GetOfflineConfiguration(&key_id, &client_auth); key_id[key_id.size()-1] = '1'; - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -2643,32 +2646,32 @@ TEST_F(WvCdmRequestLicenseTest, ReleaseRetryOfflineKeyTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); GenerateKeyRelease(key_set_id); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, &session_id_); EXPECT_EQ(wvcdm::GET_RELEASED_LICENSE_ERROR, - decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -2688,14 +2691,14 @@ TEST_F(WvCdmRequestLicenseTest, ReleaseRetryL3OfflineKeyTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - CdmResponseType sts = decryptor_.OpenSession( + CdmResponseType sts = decryptor_->OpenSession( config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); if (NEED_PROVISIONING == sts) { std::string provisioning_server; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, &provisioning_server)); @@ -2703,43 +2706,43 @@ TEST_F(WvCdmRequestLicenseTest, ReleaseRetryL3OfflineKeyTest) { std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), &property_set, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_)); } else { EXPECT_EQ(NO_ERROR, sts); } - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline, &property_set); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); GenerateKeyRelease(key_set_id, &property_set, NULL); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); EXPECT_EQ(wvcdm::GET_RELEASED_LICENSE_ERROR, - decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -2764,14 +2767,14 @@ TEST_F(WvCdmRequestLicenseTest, GetOfflineConfiguration(&key_id, &client_auth); key_id[key_id.size()-1] = '1'; - CdmResponseType sts = decryptor_.OpenSession( + CdmResponseType sts = decryptor_->OpenSession( config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); if (NEED_PROVISIONING == sts) { std::string provisioning_server_url; CdmCertificateType cert_type = kCertificateWidevine; std::string cert_authority, cert, wrapped_key; - EXPECT_EQ(NO_ERROR, decryptor_.GetProvisioningRequest( + EXPECT_EQ(NO_ERROR, decryptor_->GetProvisioningRequest( cert_type, cert_authority, kDefaultCdmIdentifier, kEmptyServiceCertificate, &key_msg_, &provisioning_server_url)); @@ -2779,43 +2782,43 @@ TEST_F(WvCdmRequestLicenseTest, std::string response = GetCertRequestResponse(config_.provisioning_server()); EXPECT_NE(0, static_cast(response.size())); - EXPECT_EQ(NO_ERROR, decryptor_.HandleProvisioningResponse( + EXPECT_EQ(NO_ERROR, decryptor_->HandleProvisioningResponse( kDefaultCdmIdentifier, response, &cert, &wrapped_key)); EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), &property_set, - kDefaultCdmIdentifier, NULL, - &session_id_)); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, + &session_id_)); } else { EXPECT_EQ(NO_ERROR, sts); } - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline, &property_set); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); GenerateKeyRelease(key_set_id, &property_set, NULL); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, + decryptor_->OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, NULL, &session_id_); EXPECT_EQ(wvcdm::GET_RELEASED_LICENSE_ERROR, - decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -2836,21 +2839,21 @@ TEST_F(WvCdmRequestLicenseTest, AutomatedOfflineSessionReleaseTest) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); uint32_t open_sessions = QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_NUMBER_OF_OPEN_SESSIONS); @@ -2881,8 +2884,8 @@ TEST_F(WvCdmRequestLicenseTest, AutomatedOfflineSessionReleaseTest) { } TEST_F(WvCdmRequestLicenseTest, StreamingLicenseRenewal) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -2890,12 +2893,12 @@ TEST_F(WvCdmRequestLicenseTest, StreamingLicenseRenewal) { GenerateRenewalRequest(kLicenseTypeStreaming, &license_server); if (license_server.empty()) license_server = config_.license_server(); VerifyKeyRequestResponse(license_server, config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, StreamingLicenseRenewalProhibited) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); std::string key_id = a2bs_hex( // streaming_clip11 "000000437073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000023" // Widevine system id @@ -2908,12 +2911,12 @@ TEST_F(WvCdmRequestLicenseTest, StreamingLicenseRenewalProhibited) { wvcdm::CdmAppParameterMap app_parameters; CdmKeyRequest key_request; EXPECT_EQ(wvcdm::LICENSE_RENEWAL_PROHIBITED, - decryptor_.GenerateKeyRequest( + decryptor_->GenerateKeyRequest( session_id_, key_set_id_, "video/mp4", init_data, kLicenseTypeStreaming, app_parameters, NULL, kDefaultCdmIdentifier, &key_request)); key_msg_ = key_request.message; - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewal) { @@ -2925,8 +2928,8 @@ TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewal) { std::string client_auth; GetOfflineConfiguration(&key_id, &client_auth); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); @@ -2934,7 +2937,7 @@ TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewal) { GenerateRenewalRequest(kLicenseTypeOffline, &license_server); if (license_server.empty()) license_server = config_.license_server(); VerifyKeyRequestResponse(license_server, client_auth); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewalAndRelease) { @@ -2947,8 +2950,8 @@ TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewalAndRelease) { GetOfflineConfiguration(&key_id, &client_auth); // Retrieve offline license - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); @@ -2966,18 +2969,18 @@ TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewalAndRelease) { decryption_parameters.subsample_flags = data->subsample_flags; EXPECT_EQ(NO_ERROR, - decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); // Restore offline license and renew it - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); std::string license_server; GenerateRenewalRequest(kLicenseTypeOffline, &license_server); @@ -2986,27 +2989,27 @@ TEST_F(WvCdmRequestLicenseTest, OfflineLicenseRenewalAndRelease) { // Verify that we can decrypt a subsample decrypt_buffer = data->encrypt_data; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); // Restore offline license and test it - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); // Verify that we can decrypt a subsample decrypt_buffer = data->encrypt_data; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); // Restore and release offline license @@ -3022,8 +3025,8 @@ class WvCdmEntitlementTest TEST_P(WvCdmEntitlementTest, EntitlementWithKeyRotation) { EntitlementTestConfiguration* config = GetParam(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); // Fetch entitlement license GenerateKeyRequest(config->entitlement_pssh, kLicenseTypeStreaming); @@ -3041,7 +3044,7 @@ TEST_P(WvCdmEntitlementTest, EntitlementWithKeyRotation) { ASSERT_TRUE(VerifyDecryption(session_id_, *(config->sub_sample_with_rotated_keys))); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -3050,8 +3053,8 @@ INSTANTIATE_TEST_CASE_P( &kEntitlementTestConfiguration[2])); TEST_F(WvCdmRequestLicenseTest, RemoveKeys) { - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, &session_id_)); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -3067,19 +3070,19 @@ TEST_F(WvCdmRequestLicenseTest, RemoveKeys) { // Verify that we can decrypt a subsample EXPECT_EQ(NO_ERROR, - decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); // Verify that decryption of a subsample fails after the keys are removed - ASSERT_EQ(NO_ERROR, decryptor_.RemoveKeys(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->RemoveKeys(session_id_)); decrypt_buffer.assign(data->encrypt_data.size(), 0); EXPECT_EQ(NEED_KEY, - decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } class WvCdmStreamingLicenseRenewalTest @@ -3118,19 +3121,19 @@ TEST_P(WvCdmStreamingLicenseRenewalTest, WithClientId) { config_.license_service_certificate()); } // TODO: pass config_.service_certificate() into CdmEngine::SetServiceCertificate() - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, app_parameters, kLicenseTypeStreaming, &property_set); if (config->enable_privacy_mode && !config->specify_service_certificate) { std::string resp = GetKeyRequestResponse(config_.license_server(), config_.client_auth()); - EXPECT_EQ(decryptor_.AddKey(session_id_, resp, &key_set_id_), + EXPECT_EQ(decryptor_->AddKey(session_id_, resp, &key_set_id_), wvcdm::NEED_KEY); GenerateKeyRequest(key_id, kLicenseTypeStreaming); } std::string key_response; - VerifyKeyRequestResponse(config_.license_server(), config_.client_auth(), false, - &key_response); + VerifyKeyRequestResponse(config_.license_server(), config_.client_auth(), + false, &key_response); // Validate signed license SignedMessage signed_message; @@ -3198,7 +3201,7 @@ TEST_P(WvCdmStreamingLicenseRenewalTest, WithClientId) { } VerifyKeyRequestResponse(license_server, config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -3249,12 +3252,13 @@ TEST_P(WvCdmOfflineLicenseReleaseTest, WithClientId) { property_set.set_service_certificate(config_.license_service_certificate()); } // TODO: pass config_.service_certificate() into CdmEngine::SetServiceCertificate() - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, app_parameters, kLicenseTypeOffline, NULL); if (config->enable_privacy_mode && !config->specify_service_certificate) { - std::string resp = GetKeyRequestResponse(config_.license_server(), client_auth); - EXPECT_EQ(decryptor_.AddKey(session_id_, resp, &key_set_id_), + std::string resp = GetKeyRequestResponse(config_.license_server(), + client_auth); + EXPECT_EQ(decryptor_->AddKey(session_id_, resp, &key_set_id_), wvcdm::NEED_KEY); GenerateKeyRequest(key_id, kLicenseTypeOffline); } @@ -3281,15 +3285,15 @@ TEST_P(WvCdmOfflineLicenseReleaseTest, WithClientId) { CdmKeySetId key_set_id = key_set_id_; EXPECT_TRUE(key_set_id_.size() > 0); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); - decryptor_.CloseSession(session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); + decryptor_->CloseSession(session_id_); session_id_.clear(); key_set_id_.clear(); @@ -3340,7 +3344,7 @@ TEST_P(WvCdmOfflineLicenseReleaseTest, WithClientId) { } VerifyKeyRequestResponse(config_.license_server(), client_auth); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -3387,8 +3391,8 @@ TEST_P(WvCdmUsageTest, WithClientId) { TestWvCdmClientPropertySet property_set; SubSampleInfo* data = &usage_info_sub_samples_icp[0]; - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(key_id, app_parameters, kLicenseTypeStreaming, &property_set); @@ -3424,16 +3428,16 @@ TEST_P(WvCdmUsageTest, WithClientId) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); CdmUsageInfo usage_info; CdmUsageInfoReleaseMessage release_msg; - CdmResponseType status = decryptor_.GetUsageInfo( + CdmResponseType status = decryptor_->GetUsageInfo( app_id, kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(KEY_MESSAGE, status); @@ -3467,8 +3471,8 @@ TEST_P(WvCdmUsageTest, WithClientId) { release_msg = GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[0]); - EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg, - kDefaultCdmIdentifier)); + EXPECT_EQ(NO_ERROR, decryptor_->ReleaseUsageInfo(release_msg, + kDefaultCdmIdentifier)); } INSTANTIATE_TEST_CASE_P( @@ -3491,8 +3495,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfoRetryTest) { &psts)); SubSampleInfo* data = &usage_info_sub_samples_icp[0]; - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); std::string key_id = a2bs_hex( "000000427073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000022" // Widevine system id @@ -3509,35 +3513,36 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfoRetryTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); CdmUsageInfo usage_info; CdmUsageInfoReleaseMessage release_msg; - CdmResponseType status = decryptor_.GetUsageInfo( + CdmResponseType status = decryptor_->GetUsageInfo( app_id, kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status); // Discard and retry to verify usage reports can be generated multiple times // before release. - status = decryptor_.GetUsageInfo(app_id, kDefaultCdmIdentifier, &usage_info); + status = decryptor_->GetUsageInfo(app_id, kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status); int error_count = 0; while (usage_info.size() > 0) { for (size_t i = 0; i < usage_info.size(); ++i) { release_msg = - GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[i]); - EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg, - kDefaultCdmIdentifier)) + GetUsageInfoResponse(config_.license_server(), config_.client_auth(), + usage_info[i]); + EXPECT_EQ(NO_ERROR, decryptor_->ReleaseUsageInfo(release_msg, + kDefaultCdmIdentifier)) << i << "/" << usage_info.size() << " (err " << (error_count++) << ")" << release_msg; } ASSERT_LE(error_count, 100); // Give up after 100 failures. - status = decryptor_.GetUsageInfo( + status = decryptor_->GetUsageInfo( app_id, kDefaultCdmIdentifier, &usage_info); switch (status) { case KEY_MESSAGE: @@ -3570,8 +3575,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfo_ReleaseThreeRecords) { std::string session_id_clip3, session_id_clip4, session_id_clip7; // Open session for streaming_clip3 and verify decryption is successful - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_clip3); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_clip3); session_id_ = session_id_clip3; GenerateKeyRequest(kPsshStreamingClip3, kLicenseTypeStreaming, NULL); @@ -3582,8 +3587,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfo_ReleaseThreeRecords) { usage_info_sub_samples_icp[0])); // Open session for streaming_clip4 and verify decryption is successful - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_clip4); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_clip4); session_id_ = session_id_clip4; GenerateKeyRequest(kPsshStreamingClip4, kLicenseTypeStreaming, NULL); @@ -3594,8 +3599,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfo_ReleaseThreeRecords) { usage_info_sub_samples_icp[1])); // Open session for streaming_clip7 and verify decryption is successful - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_clip7); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_clip7); session_id_ = session_id_clip7; GenerateKeyRequest(kPsshStreamingClip7, kLicenseTypeStreaming, NULL); @@ -3606,11 +3611,11 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfo_ReleaseThreeRecords) { usage_info_sub_samples_icp[4])); // Close session for streaming_clip4 and release usage information - decryptor_.CloseSession(session_id_clip4); + decryptor_->CloseSession(session_id_clip4); CdmUsageInfo usage_info; CdmUsageInfoReleaseMessage release_msg; - CdmResponseType status = decryptor_.GetUsageInfo( + CdmResponseType status = decryptor_->GetUsageInfo( app_id, kProviderSessionTokenStreamingClip4, kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(KEY_MESSAGE, status); @@ -3618,29 +3623,29 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfo_ReleaseThreeRecords) { release_msg = GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[0]); EXPECT_EQ(NO_ERROR, - decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); + decryptor_->ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); - decryptor_.CloseSession(session_id_clip7); + decryptor_->CloseSession(session_id_clip7); - status = decryptor_.GetUsageInfo(app_id, kProviderSessionTokenStreamingClip7, - kDefaultCdmIdentifier, &usage_info); + status = decryptor_->GetUsageInfo(app_id, kProviderSessionTokenStreamingClip7, + kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(KEY_MESSAGE, status); EXPECT_EQ(1, usage_info.size()); release_msg = GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[0]); EXPECT_EQ(NO_ERROR, - decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); + decryptor_->ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); - decryptor_.CloseSession(session_id_clip3); + decryptor_->CloseSession(session_id_clip3); - status = decryptor_.GetUsageInfo(app_id, kProviderSessionTokenStreamingClip3, - kDefaultCdmIdentifier, &usage_info); + status = decryptor_->GetUsageInfo(app_id, kProviderSessionTokenStreamingClip3, + kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(KEY_MESSAGE, status); EXPECT_EQ(1, usage_info.size()); release_msg = GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[0]); EXPECT_EQ(NO_ERROR, - decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); + decryptor_->ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)); } class WvCdmUsageInfoTest @@ -3673,8 +3678,8 @@ TEST_P(WvCdmUsageInfoTest, UsageInfo) { for (size_t i = 0; i < usage_info_data->usage_info; ++i) { SubSampleInfo* data = usage_info_data->sub_sample + i; - decryptor_.OpenSession(config_.key_system(), property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), property_set, + kDefaultCdmIdentifier, NULL, &session_id_); std::string key_id = a2bs_hex( "000000427073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000022" // Widevine system id @@ -3699,19 +3704,19 @@ TEST_P(WvCdmUsageInfoTest, UsageInfo) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } CdmUsageInfo usage_info; CdmUsageInfoReleaseMessage release_msg; CdmResponseType status = - decryptor_.GetUsageInfo(usage_info_data->app_id, kDefaultCdmIdentifier, - &usage_info); + decryptor_->GetUsageInfo(usage_info_data->app_id, kDefaultCdmIdentifier, + &usage_info); EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status); int error_count = 0; while (usage_info.size() > 0) { @@ -3719,13 +3724,13 @@ TEST_P(WvCdmUsageInfoTest, UsageInfo) { release_msg = GetUsageInfoResponse(config_.license_server(), config_.client_auth(), usage_info[i]); EXPECT_EQ(NO_ERROR, - decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)) + decryptor_->ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier)) << i << "/" << usage_info.size() << " (err " << (error_count++) << ")" << release_msg; } ASSERT_LE(error_count, 100); // Give up after 100 failures. - status = decryptor_.GetUsageInfo(usage_info_data->app_id, - kDefaultCdmIdentifier, &usage_info); + status = decryptor_->GetUsageInfo(usage_info_data->app_id, + kDefaultCdmIdentifier, &usage_info); EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status); } } @@ -3760,8 +3765,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveAllTest) { for (size_t i = 0; i < N_ELEM(usage_info_sub_samples_icp); ++i) { SubSampleInfo* data = usage_info_sub_samples_icp + i; property_set.set_app_id(i % 2 == 0 ? app_id_empty : app_id_not_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); std::string key_id = a2bs_hex( "000000427073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000022" // Widevine system id @@ -3786,55 +3791,55 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveAllTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } CdmUsageInfo usage_info; EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); } @@ -3858,8 +3863,8 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) { for (size_t i = 0; i < N_ELEM(usage_info_sub_samples_icp); ++i) { SubSampleInfo* data = usage_info_sub_samples_icp + i; property_set.set_app_id(i % 2 == 0 ? app_id_empty : app_id_not_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); std::string key_id = a2bs_hex( "000000427073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000022" // Widevine system id @@ -3884,24 +3889,24 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } CdmUsageInfo usage_info; EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); // Read in usage info file @@ -3933,17 +3938,17 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); // Read in usage info file @@ -3970,17 +3975,17 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); } @@ -4004,8 +4009,8 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) { for (size_t i = 0; i < N_ELEM(usage_info_sub_samples_icp); ++i) { SubSampleInfo* data = usage_info_sub_samples_icp + i; property_set.set_app_id(i % 2 == 0 ? app_id_empty : app_id_not_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); std::string key_id = a2bs_hex( "000000427073736800000000" // blob size and pssh "EDEF8BA979D64ACEA3C827DCD51D21ED00000022" // Widevine system id @@ -4030,24 +4035,24 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } CdmUsageInfo usage_info; EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); // Read in usage info file @@ -4087,17 +4092,17 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_not_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( KEY_MESSAGE, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.size() > 0); // Read in usage info file @@ -4130,17 +4135,17 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(app_id_empty, kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_not_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); EXPECT_EQ( NO_ERROR, - decryptor_.GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, - &usage_info)); + decryptor_->GetUsageInfo(app_id_empty, kDefaultCdmIdentifier, + &usage_info)); EXPECT_TRUE(usage_info.empty()); } @@ -4163,8 +4168,8 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { std::vector retrieved_secure_stop_ids; EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(app_id_empty, kDefaultCdmIdentifier, - &retrieved_secure_stop_ids)); + decryptor_->GetSecureStopIds(app_id_empty, kDefaultCdmIdentifier, + &retrieved_secure_stop_ids)); EXPECT_TRUE(retrieved_secure_stop_ids.empty()); // First fetch licenses for the default app @@ -4172,8 +4177,8 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { SubSampleInfo* data = kUsageLicenseTestVector1[i].sub_sample; property_set.set_app_id(app_id_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(kUsageLicenseTestVector1[i].pssh, kLicenseTypeStreaming, &property_set); @@ -4186,12 +4191,12 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } // Provision the other identifier @@ -4207,17 +4212,17 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(app_id_empty, kDefaultCdmIdentifier, - &retrieved_secure_stop_ids)); + decryptor_->GetSecureStopIds(app_id_empty, kDefaultCdmIdentifier, + &retrieved_secure_stop_ids)); EXPECT_EQ(N_ELEM(kUsageLicenseTestVector1), retrieved_secure_stop_ids.size()); EXPECT_THAT(retrieved_secure_stop_ids, UnorderedElementsAreArray(expected_provider_session_tokens)); EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kExampleIdentifier.app_package_name, - kDefaultCdmIdentifier, - &retrieved_secure_stop_ids)); + decryptor_->GetSecureStopIds(kExampleIdentifier.app_package_name, + kDefaultCdmIdentifier, + &retrieved_secure_stop_ids)); EXPECT_TRUE(retrieved_secure_stop_ids.empty()); // Now fetch licenses for the other identifier @@ -4226,9 +4231,8 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { property_set.set_app_id(kExampleIdentifier.app_package_name); EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), &property_set, - kExampleIdentifier, NULL, - &session_id_)); + decryptor_->OpenSession(config_.key_system(), &property_set, + kExampleIdentifier, NULL, &session_id_)); std::string init_data_type = "video/mp4"; CdmAppParameterMap app_parameters; GenerateKeyRequest(wvcdm::KEY_MESSAGE, init_data_type, @@ -4245,21 +4249,21 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } // Verify that there are usage records for both the default and // non-default identifier. EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier, - &retrieved_secure_stop_ids)); + decryptor_->GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier, + &retrieved_secure_stop_ids)); EXPECT_EQ(N_ELEM(kUsageLicenseTestVector1), retrieved_secure_stop_ids.size()); EXPECT_THAT(retrieved_secure_stop_ids, UnorderedElementsAreArray(expected_provider_session_tokens)); @@ -4274,32 +4278,32 @@ TEST_F(WvCdmRequestLicenseTest, GetSecureStopIdsTest) { EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kExampleIdentifier.app_package_name, - kExampleIdentifier, - &retrieved_secure_stop_ids)); + decryptor_->GetSecureStopIds(kExampleIdentifier.app_package_name, + kExampleIdentifier, + &retrieved_secure_stop_ids)); EXPECT_EQ(N_ELEM(kUsageLicenseTestVector2), retrieved_secure_stop_ids.size()); EXPECT_THAT(retrieved_secure_stop_ids, UnorderedElementsAreArray(expected_provider_session_tokens)); EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier)); + decryptor_->RemoveAllUsageInfo(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.RemoveAllUsageInfo(kExampleIdentifier.app_package_name, - kExampleIdentifier)); + decryptor_->RemoveAllUsageInfo(kExampleIdentifier.app_package_name, + kExampleIdentifier)); EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier, + decryptor_->GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier, &retrieved_secure_stop_ids)); EXPECT_TRUE(retrieved_secure_stop_ids.empty()); EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kExampleIdentifier.app_package_name, - kExampleIdentifier, + decryptor_->GetSecureStopIds(kExampleIdentifier.app_package_name, + kExampleIdentifier, &retrieved_secure_stop_ids)); EXPECT_TRUE(retrieved_secure_stop_ids.empty()); } @@ -4324,8 +4328,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) { SubSampleInfo* data = kUsageLicenseTestVector1[0].sub_sample; property_set.set_app_id(app_id_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(kUsageLicenseTestVector1[0].pssh, kLicenseTypeStreaming, &property_set); @@ -4338,12 +4342,12 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); std::string path; EXPECT_TRUE(Properties::GetDeviceFilesBasePath(security_level, &path)); @@ -4371,20 +4375,21 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) { // Fetch a second usage license, this should fail as the usage table is // corrupt - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(kUsageLicenseTestVector1[1].pssh, kLicenseTypeStreaming, &property_set); std::string response; - VerifyKeyRequestResponse(wvcdm::STORE_USAGE_INFO_ERROR, config_.license_server(), + VerifyKeyRequestResponse(wvcdm::STORE_USAGE_INFO_ERROR, + config_.license_server(), config_.client_auth(), true, &response); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); // Fetch the second usage license and verify that it is usable - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(kUsageLicenseTestVector1[1].pssh, kLicenseTypeStreaming, &property_set); @@ -4403,12 +4408,12 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) { @@ -4432,8 +4437,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) { SubSampleInfo* data = kUsageLicenseTestVector1[i].sub_sample; property_set.set_app_id(app_id_empty); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); GenerateKeyRequest(kUsageLicenseTestVector1[i].pssh, kLicenseTypeStreaming, &property_set); @@ -4446,12 +4451,12 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } // Provision and fetch licenses for the other identifier @@ -4462,9 +4467,8 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) { property_set.set_app_id(kExampleIdentifier.app_package_name); EXPECT_EQ(NO_ERROR, - decryptor_.OpenSession(config_.key_system(), &property_set, - kExampleIdentifier, NULL, - &session_id_)); + decryptor_->OpenSession(config_.key_system(), &property_set, + kExampleIdentifier, NULL, &session_id_)); std::string init_data_type = "video/mp4"; CdmAppParameterMap app_parameters; GenerateKeyRequest(wvcdm::KEY_MESSAGE, init_data_type, @@ -4481,58 +4485,52 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } // Release usage records for both the default and non-default identifier. std::vector secure_stop_ids; EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier, - &secure_stop_ids)); + decryptor_->GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier, &secure_stop_ids)); EXPECT_EQ(N_ELEM(kUsageLicenseTestVector1), secure_stop_ids.size()); for (size_t i = 0; i < N_ELEM(kUsageLicenseTestVector1); ++i) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveUsageInfo(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier, - secure_stop_ids[i])); + decryptor_->RemoveUsageInfo(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier, secure_stop_ids[i])); } EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, - kDefaultCdmIdentifier, - &secure_stop_ids)); + decryptor_->GetSecureStopIds(kDefaultCdmIdentifier.app_package_name, + kDefaultCdmIdentifier, &secure_stop_ids)); EXPECT_TRUE(secure_stop_ids.empty()); EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kExampleIdentifier.app_package_name, - kExampleIdentifier, - &secure_stop_ids)); + decryptor_->GetSecureStopIds(kExampleIdentifier.app_package_name, + kExampleIdentifier, &secure_stop_ids)); EXPECT_EQ(N_ELEM(kUsageLicenseTestVector2), secure_stop_ids.size()); for (size_t i = 0; i < N_ELEM(kUsageLicenseTestVector2); ++i) { EXPECT_EQ( NO_ERROR, - decryptor_.RemoveUsageInfo(kExampleIdentifier.app_package_name, - kExampleIdentifier, - secure_stop_ids[i])); + decryptor_->RemoveUsageInfo(kExampleIdentifier.app_package_name, + kExampleIdentifier, secure_stop_ids[i])); } EXPECT_EQ( NO_ERROR, - decryptor_.GetSecureStopIds(kExampleIdentifier.app_package_name, - kExampleIdentifier, - &secure_stop_ids)); + decryptor_->GetSecureStopIds(kExampleIdentifier.app_package_name, + kExampleIdentifier, &secure_stop_ids)); EXPECT_TRUE(secure_stop_ids.empty()); } @@ -4550,8 +4548,8 @@ TEST_F(WvCdmRequestLicenseTest, VerifyProviderClientToken) { key_id[key_id.size()-1] = '5'; // Acquire license - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(key_id, kLicenseTypeOffline); EXPECT_TRUE(!key_msg_.empty()); std::string key_msg = key_msg_; @@ -4592,13 +4590,13 @@ TEST_F(WvCdmRequestLicenseTest, VerifyProviderClientToken) { EXPECT_TRUE(license.has_provider_client_token()); EXPECT_TRUE(!license.provider_client_token().empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); // Restore offline license and renew it - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - NULL, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); std::string license_server; GenerateRenewalRequest(kLicenseTypeOffline, &license_server); @@ -4620,7 +4618,7 @@ TEST_F(WvCdmRequestLicenseTest, VerifyProviderClientToken) { EXPECT_TRUE(license_request.client_id().has_provider_client_token()); EXPECT_TRUE(!license_request.client_id().provider_client_token().empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); // Restore and release offline license @@ -4649,9 +4647,9 @@ TEST_F(WvCdmRequestLicenseTest, QueryUnmodifiedSessionStatus) { // Test that the global value is returned when no properties are modifying it. std::string security_level; ASSERT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_SECURITY_LEVEL, - &security_level)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_SECURITY_LEVEL, + &security_level)); EXPECT_EQ(GetSecurityLevel(NULL), security_level); } @@ -4669,15 +4667,15 @@ TEST_F(WvCdmRequestLicenseTest, QueryKeyStatus) { Unprovision(); Provision(kLevelDefault); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); CdmQueryMap query_info; CdmQueryMap::iterator itr; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryKeyStatus(session_id_, &query_info)); + decryptor_->QueryKeyStatus(session_id_, &query_info)); itr = query_info.find(wvcdm::QUERY_KEY_LICENSE_TYPE); ASSERT_TRUE(itr != query_info.end()); @@ -4712,27 +4710,27 @@ TEST_F(WvCdmRequestLicenseTest, QueryKeyStatus) { ASSERT_TRUE(itr != query_info.end()); EXPECT_LT(0u, itr->second.size()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, QueryStatus) { std::string value; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_SECURITY_LEVEL, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_SECURITY_LEVEL, &value)); EXPECT_EQ(2u, value.size()); EXPECT_TRUE(wvcdm::QUERY_VALUE_SECURITY_LEVEL_L3 == value || wvcdm::QUERY_VALUE_SECURITY_LEVEL_L1 == value); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_DEVICE_ID, - &value)); + decryptor_->QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_DEVICE_ID, + &value)); EXPECT_LT(0u, value.size()); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SYSTEM_ID, - &value)); + decryptor_->QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SYSTEM_ID, + &value)); std::istringstream ss(value); uint32_t system_id; ss >> system_id; @@ -4740,13 +4738,13 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { EXPECT_TRUE(ss.eof()); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_PROVISIONING_ID, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_PROVISIONING_ID, &value)); EXPECT_TRUE(16u == value.size() || 32u == value.size()) << "provisioning id size: " << value.size(); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevelDefault, wvcdm::QUERY_KEY_CURRENT_HDCP_LEVEL, &value)); EXPECT_TRUE( value == QUERY_VALUE_HDCP_NONE || value == QUERY_VALUE_HDCP_V1 || @@ -4755,8 +4753,8 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_MAX_HDCP_LEVEL, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_MAX_HDCP_LEVEL, &value)); EXPECT_TRUE( value == QUERY_VALUE_HDCP_NONE || value == QUERY_VALUE_HDCP_V1 || value == QUERY_VALUE_HDCP_V2_0 || value == QUERY_VALUE_HDCP_V2_1 || @@ -4764,14 +4762,15 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_USAGE_SUPPORT, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_USAGE_SUPPORT, &value)); EXPECT_TRUE(value == QUERY_VALUE_TRUE || value == QUERY_VALUE_FALSE); EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_NUMBER_OF_OPEN_SESSIONS, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_NUMBER_OF_OPEN_SESSIONS, + &value)); ss.clear(); ss.str(value); uint32_t open_sessions; @@ -4781,8 +4780,8 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_MAX_NUMBER_OF_SESSIONS, &value)); + decryptor_->QueryStatus(kLevelDefault, + wvcdm::QUERY_KEY_MAX_NUMBER_OF_SESSIONS, &value)); ss.clear(); ss.str(value); uint32_t max_sessions; @@ -4793,8 +4792,9 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { EXPECT_LE(8u, max_sessions); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( - kLevelDefault, wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION, &value)); + decryptor_->QueryStatus( + kLevelDefault, wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION, + &value)); ss.clear(); ss.str(value); uint32_t api_version; @@ -4804,7 +4804,7 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { EXPECT_LE(10u, api_version); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevelDefault, wvcdm::QUERY_KEY_RESOURCE_RATING_TIER, &value)); ss.clear(); ss.str(value); @@ -4823,13 +4823,13 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) { } EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, - wvcdm::QUERY_KEY_OEMCRYPTO_BUILD_INFORMATION, - &value)); + decryptor_->QueryStatus( + kLevelDefault, wvcdm::QUERY_KEY_OEMCRYPTO_BUILD_INFORMATION, + &value)); EXPECT_TRUE(!value.empty()); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, + decryptor_->QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_CURRENT_SRM_VERSION, &value)); } @@ -4838,16 +4838,17 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { std::string value; EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevel3, wvcdm::QUERY_KEY_SECURITY_LEVEL, &value)); + decryptor_->QueryStatus(kLevel3, wvcdm::QUERY_KEY_SECURITY_LEVEL, + &value)); EXPECT_EQ(wvcdm::QUERY_VALUE_SECURITY_LEVEL_L3, value); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.QueryStatus( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_DEVICE_ID, &value)); EXPECT_LT(0u, value.size()); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SYSTEM_ID, - &value)); + decryptor_->QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SYSTEM_ID, + &value)); std::istringstream ss(value); uint32_t default_system_id; ss >> default_system_id; @@ -4857,10 +4858,10 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { std::string default_security_level; EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SECURITY_LEVEL, - &default_security_level)); + decryptor_->QueryStatus(kLevelDefault, wvcdm::QUERY_KEY_SECURITY_LEVEL, + &default_security_level)); - EXPECT_EQ(wvcdm::NO_ERROR, decryptor_.QueryStatus( + EXPECT_EQ(wvcdm::NO_ERROR, decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_SYSTEM_ID, &value)); ss.clear(); ss.str(value); @@ -4873,14 +4874,15 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { } EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevel3, wvcdm::QUERY_KEY_PROVISIONING_ID, - &value)); + decryptor_->QueryStatus(kLevel3, wvcdm::QUERY_KEY_PROVISIONING_ID, + &value)); EXPECT_TRUE(16u == value.size() || 32u == value.size()) << "provisioning id size: " << value.size(); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevel3, wvcdm::QUERY_KEY_CURRENT_HDCP_LEVEL, - &value)); + decryptor_->QueryStatus(kLevel3, + wvcdm::QUERY_KEY_CURRENT_HDCP_LEVEL, + &value)); EXPECT_TRUE( value == QUERY_VALUE_HDCP_NONE || value == QUERY_VALUE_HDCP_V1 || value == QUERY_VALUE_HDCP_V2_0 || value == QUERY_VALUE_HDCP_V2_1 || @@ -4889,7 +4891,8 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevel3, wvcdm::QUERY_KEY_MAX_HDCP_LEVEL, &value)); + decryptor_->QueryStatus(kLevel3, wvcdm::QUERY_KEY_MAX_HDCP_LEVEL, + &value)); EXPECT_TRUE( value == QUERY_VALUE_HDCP_NONE || value == QUERY_VALUE_HDCP_V1 || value == QUERY_VALUE_HDCP_V2_0 || value == QUERY_VALUE_HDCP_V2_1 || @@ -4898,11 +4901,11 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { EXPECT_EQ( wvcdm::NO_ERROR, - decryptor_.QueryStatus(kLevel3, wvcdm::QUERY_KEY_USAGE_SUPPORT, &value)); + decryptor_->QueryStatus(kLevel3, wvcdm::QUERY_KEY_USAGE_SUPPORT, &value)); EXPECT_TRUE(value == QUERY_VALUE_TRUE || value == QUERY_VALUE_FALSE); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_NUMBER_OF_OPEN_SESSIONS, &value)); ss.clear(); ss.str(value); @@ -4912,7 +4915,7 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { EXPECT_TRUE(ss.eof()); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_MAX_NUMBER_OF_SESSIONS, &value)); ss.clear(); ss.str(value); @@ -4924,7 +4927,7 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) { EXPECT_LE(8u, max_sessions); EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION, &value)); ss.clear(); ss.str(value); @@ -4939,15 +4942,15 @@ TEST_F(WvCdmRequestLicenseTest, QueryOemCryptoSessionId) { Unprovision(); Provision(kLevelDefault); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); CdmQueryMap query_info; CdmQueryMap::iterator itr; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryOemCryptoSessionId(session_id_, &query_info)); + decryptor_->QueryOemCryptoSessionId(session_id_, &query_info)); uint32_t oem_crypto_session_id; itr = query_info.find(wvcdm::QUERY_KEY_OEMCRYPTO_SESSION_ID); @@ -4957,7 +4960,7 @@ TEST_F(WvCdmRequestLicenseTest, QueryOemCryptoSessionId) { ss >> oem_crypto_session_id; ASSERT_FALSE(ss.fail()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, IsSecurityLevelSupported) { @@ -4976,8 +4979,8 @@ TEST_F(WvCdmRequestLicenseTest, IsSecurityLevelSupported) { } TEST_F(WvCdmRequestLicenseTest, DISABLED_OfflineLicenseDecryptionTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5012,7 +5015,7 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_OfflineLicenseDecryptionTest) { size_t encrypt_length = data.encrypt_data.size(); decrypt_buffer.resize(encrypt_length); - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data.is_encrypted, data.is_secure, data.key_id, @@ -5026,22 +5029,22 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_OfflineLicenseDecryptionTest) { EXPECT_TRUE(std::equal(data.decrypt_data.begin(), data.decrypt_data.end(), decrypt_buffer.begin())); */ - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, DISABLED_RestoreOfflineLicenseDecryptionTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); /* // key 1, encrypted, 256b DecryptionData data; @@ -5073,7 +5076,7 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_RestoreOfflineLicenseDecryptionTest) { size_t encrypt_length = data.encrypt_data.size(); decrypt_buffer.resize(encrypt_length); - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data.is_encrypted, data.is_secure, data.key_id, @@ -5087,13 +5090,13 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_RestoreOfflineLicenseDecryptionTest) { EXPECT_TRUE(std::equal(data.decrypt_data.begin(), data.decrypt_data.end(), decrypt_buffer.begin())); */ - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } // TODO(rfrias, edwinwong): pending L1 OEMCrypto due to key block handling /* TEST_F(WvCdmRequestLicenseTest, KeyControlBlockDecryptionTest) { - decryptor_.OpenSession(config_.key_system(), &session_id_); + decryptor_->OpenSession(config_.key_system(), &session_id_); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5128,7 +5131,7 @@ TEST_F(WvCdmRequestLicenseTest, KeyControlBlockDecryptionTest) { size_t encrypt_length = data[i].encrypt_data.size(); decrypt_buffer.resize(encrypt_length); - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data.is_encrypted, data.is_secure, data.key_id, @@ -5142,7 +5145,7 @@ TEST_F(WvCdmRequestLicenseTest, KeyControlBlockDecryptionTest) { data.decrypt_data.end(), decrypt_buffer.begin())); } - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } */ @@ -5162,9 +5165,10 @@ TEST_P(WvCdmSessionSharingTest, SessionSharingTest) { property_set.set_session_sharing_mode( session_sharing_info->session_sharing_enabled); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), &property_set, - cdm_identifier, NULL, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), + &property_set, + cdm_identifier, NULL, + &session_id_)); CdmSessionId gp_session_id_1 = session_id_; GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming, cdm_identifier); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5177,9 +5181,10 @@ TEST_P(WvCdmSessionSharingTest, SessionSharingTest) { "edef8ba979d64acea3c827dcd51d21ed00000014" // Widevine system id "08011210bdf1cb4fffc6506b8b7945b0bd2917fb"); // pssh data - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), &property_set, - cdm_identifier, NULL, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), + &property_set, + cdm_identifier, NULL, + &session_id_)); CdmSessionId gp_session_id_2 = session_id_; GenerateKeyRequest(gp_key_id2, kLicenseTypeStreaming, cdm_identifier); VerifyKeyRequestResponse(config_.license_server(), gp_client_auth2); @@ -5195,8 +5200,8 @@ TEST_P(WvCdmSessionSharingTest, SessionSharingTest) { if (session_sharing_info->session_sharing_enabled || !data->is_encrypted) { EXPECT_EQ(NO_ERROR, - decryptor_.Decrypt(gp_session_id_2, data->validate_key_id, - decryption_parameters)) + decryptor_->Decrypt(gp_session_id_2, data->validate_key_id, + decryption_parameters)) << "session_sharing_info->session_sharing_enabled " << session_sharing_info->session_sharing_enabled << std::endl << "data->is_encrypted " << data->is_encrypted << std::endl; @@ -5204,18 +5209,18 @@ TEST_P(WvCdmSessionSharingTest, SessionSharingTest) { decrypt_buffer.begin())); } else { EXPECT_EQ(NEED_KEY, - decryptor_.Decrypt(gp_session_id_2, data->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(gp_session_id_2, data->validate_key_id, + decryption_parameters)); } if (!cdm_identifier.IsEquivalentToDefault()) { // Unprovision both security level certs. - decryptor_.Unprovision(kSecurityLevelL1, cdm_identifier); - decryptor_.Unprovision(kSecurityLevelL3, cdm_identifier); + decryptor_->Unprovision(kSecurityLevelL1, cdm_identifier); + decryptor_->Unprovision(kSecurityLevelL3, cdm_identifier); } - decryptor_.CloseSession(gp_session_id_1); - decryptor_.CloseSession(gp_session_id_2); + decryptor_->CloseSession(gp_session_id_1); + decryptor_->CloseSession(gp_session_id_2); } INSTANTIATE_TEST_CASE_P(Cdm, WvCdmSessionSharingTest, @@ -5232,8 +5237,8 @@ TEST_F(WvCdmRequestLicenseTest, SessionSharingTest) { "EDEF8BA979D64ACEA3C827DCD51D21ED00000014" // Widevine system id "0801121030313233343536373839616263646566"); // pssh data - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); CdmSessionId session_id1 = session_id_; GenerateKeyRequest(init_data1, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5246,8 +5251,8 @@ TEST_F(WvCdmRequestLicenseTest, SessionSharingTest) { "edef8ba979d64acea3c827dcd51d21ed00000014" // Widevine system id "08011210bdf1cb4fffc6506b8b7945b0bd2917fb"); // pssh data - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); CdmSessionId session_id2 = session_id_; GenerateKeyRequest(init_data2, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), gp_client_auth2); @@ -5262,29 +5267,29 @@ TEST_F(WvCdmRequestLicenseTest, SessionSharingTest) { decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id1, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id1, data->validate_key_id, + decryption_parameters)); sleep(kSingleEncryptedSubSampleIcpLicenseDurationExpiration - kSingleEncryptedSubSampleIcpLicenseExpirationWindow); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); CdmSessionId session_id3 = session_id_; GenerateKeyRequest(init_data1, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id1, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id1, data->validate_key_id, + decryption_parameters)); sleep(kSingleEncryptedSubSampleIcpLicenseExpirationWindow); // session 1 will be expired, shared session 3 will be used to decrypt - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id1, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id1, data->validate_key_id, + decryption_parameters)); - decryptor_.CloseSession(session_id1); - decryptor_.CloseSession(session_id2); - decryptor_.CloseSession(session_id3); + decryptor_->CloseSession(session_id1); + decryptor_->CloseSession(session_id2); + decryptor_->CloseSession(session_id3); } TEST_F(WvCdmRequestLicenseTest, DecryptionKeyExpiredTest) { @@ -5293,8 +5298,8 @@ TEST_F(WvCdmRequestLicenseTest, DecryptionKeyExpiredTest) { "EDEF8BA979D64ACEA3C827DCD51D21ED00000014" // Widevine system id "0801121030313233343536373839616263646566"); // pssh data SubSampleInfo* data = &single_encrypted_sub_sample_short_expiry; - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); if (data->retrieve_key) { GenerateKeyRequest(kCpKeyId, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5307,22 +5312,21 @@ TEST_F(WvCdmRequestLicenseTest, DecryptionKeyExpiredTest) { decryption_parameters.is_encrypted = data->is_encrypted; decryption_parameters.is_secure = data->is_secure; decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); sleep(kSingleEncryptedSubSampleIcpLicenseDurationExpiration + kSingleEncryptedSubSampleIcpLicenseExpirationWindow); - EXPECT_EQ(NEED_KEY, decryptor_.Decrypt(session_id_, data->validate_key_id, - decryption_parameters)); - decryptor_.CloseSession(session_id_); + EXPECT_EQ(NEED_KEY, decryptor_->Decrypt(session_id_, data->validate_key_id, + decryption_parameters)); + decryptor_->CloseSession(session_id_); } TEST_F(WvCdmRequestLicenseTest, PlaybackExpiry) { StrictMock listener; DecryptCallbackTester decrypt_callback( - &decryptor_, - &usage_info_sub_samples_icp[0]); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - &listener, &session_id_); + decryptor_, &usage_info_sub_samples_icp[0]); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + &listener, &session_id_); EXPECT_CALL( listener, @@ -5348,10 +5352,9 @@ TEST_F(WvCdmRequestLicenseTest, PlaybackExpiry) { TEST_F(WvCdmRequestLicenseTest, PlaybackExpiry_DecryptBeforeLicense) { StrictMock listener; DecryptCallbackTester decrypt_callback( - &decryptor_, - &usage_info_sub_samples_icp[0]); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, - &listener, &session_id_); + decryptor_, &usage_info_sub_samples_icp[0]); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + &listener, &session_id_); // Decrypt before license is received is expected to fail but should // not start the playback timer @@ -5383,10 +5386,9 @@ TEST_F(WvCdmRequestLicenseTest, PlaybackExpiry_DecryptBeforeLicense) { TEST_F(WvCdmRequestLicenseTest, SessionKeyChangeNotificationTest) { StrictMock listener; DecryptCallbackTester decrypt_callback( - &decryptor_, - &single_encrypted_sub_sample_short_expiry); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, &listener, - &session_id_); + decryptor_, &single_encrypted_sub_sample_short_expiry); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + &listener, &session_id_); EXPECT_CALL( listener, OnSessionKeysChange( @@ -5404,7 +5406,7 @@ TEST_F(WvCdmRequestLicenseTest, SessionKeyChangeNotificationTest) { GenerateKeyRequest(kCpKeyId, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } class WvCdmDecryptionTest @@ -5413,8 +5415,8 @@ class WvCdmDecryptionTest TEST_P(WvCdmDecryptionTest, DecryptionTest) { SubSampleInfo* data = GetParam(); - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); if (data->retrieve_key) { GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5442,15 +5444,15 @@ TEST_P(WvCdmDecryptionTest, DecryptionTest) { (data+i)->decrypt_data.begin(), (data+i)->decrypt_data.end()); EXPECT_EQ(NO_ERROR, - decryptor_.Decrypt(session_id_, (data + i)->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(session_id_, (data + i)->validate_key_id, + decryption_parameters)); decrypt_buffer_offset += (data +i)->encrypt_data.size(); } EXPECT_TRUE(std::equal(expected_decrypt_data.begin(), expected_decrypt_data.end(), decrypt_buffer.begin())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P(Cdm, WvCdmDecryptionTest, @@ -5470,8 +5472,8 @@ TEST_P(WvCdmSessionSharingNoKeyTest, DecryptionTest) { TestWvCdmClientPropertySet property_set; property_set.set_session_sharing_mode(true); - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); CdmSessionId gp_session_id_1 = session_id_; GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); @@ -5483,8 +5485,8 @@ TEST_P(WvCdmSessionSharingNoKeyTest, DecryptionTest) { "edef8ba979d64acea3c827dcd51d21ed00000014" // Widevine system id "08011210bdf1cb4fffc6506b8b7945b0bd2917fb"); // pssh data - decryptor_.OpenSession(config_.key_system(), &property_set, kDefaultCdmIdentifier, - NULL, &session_id_); + decryptor_->OpenSession(config_.key_system(), &property_set, + kDefaultCdmIdentifier, NULL, &session_id_); CdmSessionId gp_session_id_2 = session_id_; GenerateKeyRequest(gp_key_id2, kLicenseTypeStreaming); @@ -5500,15 +5502,15 @@ TEST_P(WvCdmSessionSharingNoKeyTest, DecryptionTest) { data->subsample_flags & OEMCrypto_FirstSubsample && data->subsample_flags & OEMCrypto_LastSubsample; EXPECT_EQ(can_decrypt ? NO_ERROR : KEY_NOT_FOUND_IN_SESSION, - decryptor_.Decrypt(gp_session_id_2, data->validate_key_id, - decryption_parameters)); + decryptor_->Decrypt(gp_session_id_2, data->validate_key_id, + decryption_parameters)); if (can_decrypt) { EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(), decrypt_buffer.begin())); } - decryptor_.CloseSession(gp_session_id_1); - decryptor_.CloseSession(gp_session_id_2); + decryptor_->CloseSession(gp_session_id_1); + decryptor_->CloseSession(gp_session_id_2); } INSTANTIATE_TEST_CASE_P(Cdm, WvCdmSessionSharingNoKeyTest, @@ -5535,8 +5537,8 @@ TEST(VersionNumberTest, VersionNumberChangeCanary) { } TEST_F(WvCdmRequestLicenseTest, AddHlsStreamingKeyTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); CdmAppParameterMap app_parameters; GenerateKeyRequest(wvcdm::KEY_MESSAGE, HLS_INIT_DATA_FORMAT, kAttributeListSampleAes, app_parameters, @@ -5544,7 +5546,7 @@ TEST_F(WvCdmRequestLicenseTest, AddHlsStreamingKeyTest) { //TODO(rfrias): Remove once we switch to git-on-borg std::string license_server = "https://proxy.uat.widevine.com/proxy"; VerifyKeyRequestResponse(license_server, config_.client_auth()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } class WvHlsInitDataTest @@ -5552,13 +5554,13 @@ class WvHlsInitDataTest public ::testing::WithParamInterface {}; TEST_P(WvHlsInitDataTest, InvalidHlsFormatTest) { - decryptor_.OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, NULL, - &session_id_); + decryptor_->OpenSession(config_.key_system(), NULL, kDefaultCdmIdentifier, + NULL, &session_id_); CdmAppParameterMap app_parameters; std::string init_data = GetParam(); GenerateKeyRequest(wvcdm::INIT_DATA_NOT_FOUND, HLS_INIT_DATA_FORMAT, init_data, app_parameters, kLicenseTypeStreaming, NULL); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P(Cdm, WvHlsInitDataTest, @@ -5579,8 +5581,8 @@ TEST_P(WvHlsDecryptionTest, HlsDecryptionTest) { HlsDecryptionInfo* info = GetParam(); TestWvCdmHlsEventListener listener; - decryptor_.OpenSession(config_.key_system(), &client_property_set, - kDefaultCdmIdentifier, &listener, &session_id_); + decryptor_->OpenSession(config_.key_system(), &client_property_set, + kDefaultCdmIdentifier, &listener, &session_id_); CdmAppParameterMap app_parameters; GenerateKeyRequest(wvcdm::KEY_MESSAGE, HLS_INIT_DATA_FORMAT, info->attribute_list, app_parameters, @@ -5608,14 +5610,14 @@ TEST_P(WvHlsDecryptionTest, HlsDecryptionTest) { decryption_parameters.pattern_descriptor.skip_blocks = 9; } decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, false, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, false, + decryption_parameters)); EXPECT_EQ(data->clear_data, std::string(reinterpret_cast(&output_buffer[0]), output_buffer.size())); } - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P(Cdm, WvHlsDecryptionTest, @@ -5633,8 +5635,8 @@ TEST_P(WvHlsFourCCBackwardCompatibilityTest, HlsDecryptionTest) { HlsDecryptionInfo* info = GetParam(); TestWvCdmHlsEventListener listener; - decryptor_.OpenSession(config_.key_system(), &client_property_set, - kDefaultCdmIdentifier, &listener, &session_id_); + decryptor_->OpenSession(config_.key_system(), &client_property_set, + kDefaultCdmIdentifier, &listener, &session_id_); CdmAppParameterMap app_parameters; GenerateKeyRequest(wvcdm::KEY_MESSAGE, ISO_BMFF_VIDEO_MIME_TYPE, info->attribute_list, app_parameters, @@ -5662,14 +5664,14 @@ TEST_P(WvHlsFourCCBackwardCompatibilityTest, HlsDecryptionTest) { decryption_parameters.pattern_descriptor.skip_blocks = 9; } decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, false, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, false, + decryption_parameters)); EXPECT_EQ(data->clear_data, std::string(reinterpret_cast(&output_buffer[0]), output_buffer.size())); } - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -5688,7 +5690,7 @@ TEST_P(WvCenc30Test, DecryptionTest) { std::string value; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION, &value)); std::istringstream ss(value); uint32_t api_version; @@ -5704,8 +5706,8 @@ TEST_P(WvCenc30Test, DecryptionTest) { SingleSampleDecryptionInfo* info = GetParam(); TestWvCdmHlsEventListener listener; - decryptor_.OpenSession(config_.key_system(), &client_property_set, - kDefaultCdmIdentifier, &listener, &session_id_); + decryptor_->OpenSession(config_.key_system(), &client_property_set, + kDefaultCdmIdentifier, &listener, &session_id_); CdmAppParameterMap app_parameters; GenerateKeyRequest(info->pssh, app_parameters, kLicenseTypeStreaming, NULL); @@ -5728,13 +5730,13 @@ TEST_P(WvCenc30Test, DecryptionTest) { decryption_parameters.pattern_descriptor.skip_blocks = 9; } decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, false, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, false, + decryption_parameters)); EXPECT_EQ(data->clear_data, std::string(reinterpret_cast(&output_buffer[0]), output_buffer.size())); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -5753,7 +5755,7 @@ TEST_P(WvCenc30SwitchCipherModeTest, DecryptionTest) { std::string value; EXPECT_EQ(wvcdm::NO_ERROR, - decryptor_.QueryStatus( + decryptor_->QueryStatus( kLevel3, wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION, &value)); std::istringstream ss(value); uint32_t api_version; @@ -5769,8 +5771,8 @@ TEST_P(WvCenc30SwitchCipherModeTest, DecryptionTest) { FourSampleDecryptionInfo* info = GetParam(); TestWvCdmHlsEventListener listener; - decryptor_.OpenSession(config_.key_system(), &client_property_set, - kDefaultCdmIdentifier, &listener, &session_id_); + decryptor_->OpenSession(config_.key_system(), &client_property_set, + kDefaultCdmIdentifier, &listener, &session_id_); CdmAppParameterMap app_parameters; GenerateKeyRequest(info->pssh, app_parameters, kLicenseTypeStreaming, NULL); @@ -5794,14 +5796,14 @@ TEST_P(WvCenc30SwitchCipherModeTest, DecryptionTest) { decryption_parameters.pattern_descriptor.skip_blocks = 9; } decryption_parameters.subsample_flags = data->subsample_flags; - EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(session_id_, false, - decryption_parameters)); + EXPECT_EQ(NO_ERROR, decryptor_->Decrypt(session_id_, false, + decryption_parameters)); EXPECT_EQ(data->clear_data, std::string(reinterpret_cast(&output_buffer[0]), output_buffer.size())); } - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } INSTANTIATE_TEST_CASE_P( @@ -5813,9 +5815,9 @@ TEST_F(WvCdmRequestLicenseTest, CloseCdmReleaseResourcesTest) { Provision(kAlternateCdmIdentifier1, kLevelDefault); // Retrieve a streaming license - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id_)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id_)); GenerateKeyRequest(binary_key_id(), kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -5825,32 +5827,32 @@ TEST_F(WvCdmRequestLicenseTest, CloseCdmReleaseResourcesTest) { CdmSessionId session_id3; CdmSessionId session_id4; CdmSessionId alternate_session_id; - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id1)); - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id2)); - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id3)); - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id4)); - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kAlternateCdmIdentifier1, NULL, - &alternate_session_id)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id1)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id2)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id3)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id4)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kAlternateCdmIdentifier1, NULL, + &alternate_session_id)); // Close all open sessions and disable the timer running for |session_id_| - decryptor_.CloseCdm(kDefaultCdmIdentifier); + decryptor_->CloseCdm(kDefaultCdmIdentifier); - EXPECT_FALSE(decryptor_.IsOpenSession(session_id_)); - EXPECT_FALSE(decryptor_.IsOpenSession(session_id1)); - EXPECT_FALSE(decryptor_.IsOpenSession(session_id2)); - EXPECT_FALSE(decryptor_.IsOpenSession(session_id3)); - EXPECT_FALSE(decryptor_.IsOpenSession(session_id4)); - EXPECT_TRUE(decryptor_.IsOpenSession(alternate_session_id)); + EXPECT_FALSE(decryptor_->IsOpenSession(session_id_)); + EXPECT_FALSE(decryptor_->IsOpenSession(session_id1)); + EXPECT_FALSE(decryptor_->IsOpenSession(session_id2)); + EXPECT_FALSE(decryptor_->IsOpenSession(session_id3)); + EXPECT_FALSE(decryptor_->IsOpenSession(session_id4)); + EXPECT_TRUE(decryptor_->IsOpenSession(alternate_session_id)); } // Enable when OEMCrypto v15 has been deployed. Currently setting a decrypt @@ -5859,9 +5861,9 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_DecryptPathTest) { Provision(kDefaultCdmIdentifier, kLevelDefault); // Retrieve a streaming license - EXPECT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), NULL, - kDefaultCdmIdentifier, NULL, - &session_id_)); + EXPECT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), NULL, + kDefaultCdmIdentifier, NULL, + &session_id_)); CdmSessionId invalid_session_id = session_id_ + "more"; std::string frame_number = std::to_string(5); @@ -5873,14 +5875,14 @@ TEST_F(WvCdmRequestLicenseTest, DISABLED_DecryptPathTest) { invalid_session_id + kComma + std::to_string(5) + kComma + hash; CdmSessionId session_id; - EXPECT_NE(NO_ERROR, decryptor_.SetDecryptHash(hash_data, &session_id)); + EXPECT_NE(NO_ERROR, decryptor_->SetDecryptHash(hash_data, &session_id)); // Valid hash data hash_data = session_id_ + kComma + std::to_string(5) + kComma + hash; - EXPECT_EQ(NO_ERROR, decryptor_.SetDecryptHash(hash_data, &session_id)); + EXPECT_EQ(NO_ERROR, decryptor_->SetDecryptHash(hash_data, &session_id)); EXPECT_EQ(session_id_, session_id); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); } class WvCdmRequestLicenseRollbackTest @@ -5950,8 +5952,8 @@ class WvCdmRequestLicenseRollbackTest CdmResponseType Decrypt(CdmSessionId session_id) { std::fill(decrypt_buffer_.begin(), decrypt_buffer_.end(), 0); - return decryptor_.Decrypt(session_id, validate_key_id_, - decryption_parameters_); + return decryptor_->Decrypt(session_id, validate_key_id_, + decryption_parameters_); } std::chrono::time_point @@ -5981,8 +5983,8 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Streaming_ExpireAfterRollback) { Unprovision(); Provision(kLevelDefault); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), nullptr, - kDefaultCdmIdentifier, nullptr, + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), nullptr, + kDefaultCdmIdentifier, nullptr, &session_id_)); GenerateKeyRequest(init_data_with_expiry_, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -6001,16 +6003,16 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Streaming_ExpireAfterRollback) { RestoreSystemTime(); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } TEST_F(WvCdmRequestLicenseRollbackTest, Streaming_ExpireBeforeRollback) { Unprovision(); Provision(kLevelDefault); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), nullptr, - kDefaultCdmIdentifier, nullptr, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), nullptr, + kDefaultCdmIdentifier, nullptr, + &session_id_)); GenerateKeyRequest(init_data_with_expiry_, kLicenseTypeStreaming); VerifyKeyRequestResponse(config_.license_server(), config_.client_auth()); @@ -6027,7 +6029,7 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Streaming_ExpireBeforeRollback) { RestoreSystemTime(); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } TEST_F(WvCdmRequestLicenseRollbackTest, Offline_RollbackBeforeRestoreKey) { @@ -6038,9 +6040,9 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Offline_RollbackBeforeRestoreKey) { std::string client_auth; GetOfflineConfiguration(&unused_key_id, &client_auth); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), nullptr, - kDefaultCdmIdentifier, nullptr, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), nullptr, + kDefaultCdmIdentifier, nullptr, + &session_id_)); GenerateKeyRequest(init_data_with_expiry_, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); @@ -6049,16 +6051,16 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Offline_RollbackBeforeRestoreKey) { CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); // This number must be > the time between GenerateKeyRequest and this call. RollbackSystemTime(10 * 1000); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, - nullptr, &session_id_); + decryptor_->OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, + nullptr, &session_id_); - decryptor_.RestoreKey(session_id_, key_set_id); + decryptor_->RestoreKey(session_id_, key_set_id); // Verify we can't decrypt. EXPECT_EQ(DECRYPT_NOT_READY, Decrypt(session_id_)); @@ -6073,7 +6075,7 @@ TEST_F(WvCdmRequestLicenseRollbackTest, Offline_RollbackBeforeRestoreKey) { // Verify we can decrypt. EXPECT_EQ(NO_ERROR, Decrypt(session_id_)); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } TEST_F(WvCdmRequestLicenseRollbackTest, @@ -6085,20 +6087,20 @@ TEST_F(WvCdmRequestLicenseRollbackTest, std::string client_auth; GetOfflineConfiguration(&unused_key_id, &client_auth); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), nullptr, - kDefaultCdmIdentifier, nullptr, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), nullptr, + kDefaultCdmIdentifier, nullptr, + &session_id_)); GenerateKeyRequest(init_data_with_expiry_, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, - nullptr, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, + nullptr, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); RollbackSystemTime(kExpirationWithWindowMs_); @@ -6111,7 +6113,7 @@ TEST_F(WvCdmRequestLicenseRollbackTest, RestoreSystemTime(); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } TEST_F(WvCdmRequestLicenseRollbackTest, @@ -6123,20 +6125,20 @@ TEST_F(WvCdmRequestLicenseRollbackTest, std::string client_auth; GetOfflineConfiguration(&unused_key_id, &client_auth); - ASSERT_EQ(NO_ERROR, decryptor_.OpenSession(config_.key_system(), nullptr, - kDefaultCdmIdentifier, nullptr, - &session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->OpenSession(config_.key_system(), nullptr, + kDefaultCdmIdentifier, nullptr, + &session_id_)); GenerateKeyRequest(init_data_with_expiry_, kLicenseTypeOffline); VerifyKeyRequestResponse(config_.license_server(), client_auth); CdmKeySetId key_set_id = key_set_id_; EXPECT_FALSE(key_set_id_.empty()); - decryptor_.CloseSession(session_id_); + decryptor_->CloseSession(session_id_); session_id_.clear(); - decryptor_.OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, - nullptr, &session_id_); - EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_.RestoreKey(session_id_, key_set_id)); + decryptor_->OpenSession(config_.key_system(), nullptr, kDefaultCdmIdentifier, + nullptr, &session_id_); + EXPECT_EQ(wvcdm::KEY_ADDED, decryptor_->RestoreKey(session_id_, key_set_id)); // Elapse time so that the key should now be considered expired. std::this_thread::sleep_for( @@ -6149,7 +6151,7 @@ TEST_F(WvCdmRequestLicenseRollbackTest, RestoreSystemTime(); - ASSERT_EQ(NO_ERROR, decryptor_.CloseSession(session_id_)); + ASSERT_EQ(NO_ERROR, decryptor_->CloseSession(session_id_)); } } // namespace wvcdm