Make OEM Crypto API version available through mediaDrm properties
[ Merge of http://go/wvgerrit/15540 ] b/22771529 Change-Id: I8a3d3b3d7a943c531ef0ff2c860442e0690b9175
This commit is contained in:
@@ -57,6 +57,8 @@ static const std::string QUERY_KEY_NUMBER_OF_OPEN_SESSIONS =
|
||||
"NumberOfOpenSessions";
|
||||
static const std::string QUERY_KEY_MAX_NUMBER_OF_SESSIONS =
|
||||
"MaxNumberOfSessions";
|
||||
static const std::string QUERY_KEY_OEMCRYPTO_API_VERSION =
|
||||
"OemCryptoApiVersion";
|
||||
|
||||
static const std::string QUERY_VALUE_TRUE = "True";
|
||||
static const std::string QUERY_VALUE_FALSE = "False";
|
||||
|
||||
@@ -473,6 +473,14 @@ CdmResponseType CdmEngine::QueryStatus(SecurityLevel security_level,
|
||||
max_sessions_stream.str();
|
||||
}
|
||||
|
||||
uint32_t api_version;
|
||||
success = crypto_session.GetApiVersion(&api_version);
|
||||
if (success) {
|
||||
std::ostringstream api_version_stream;
|
||||
api_version_stream << api_version;
|
||||
(*key_info)[QUERY_KEY_OEMCRYPTO_API_VERSION] = api_version_stream.str();
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
@@ -2056,6 +2056,56 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) {
|
||||
itr = query_info.find(wvcdm::QUERY_KEY_PROVISIONING_ID);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
EXPECT_EQ(16u, itr->second.size());
|
||||
|
||||
itr = query_info.find(QUERY_KEY_CURRENT_HDCP_LEVEL);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
EXPECT_TRUE(itr->second == QUERY_VALUE_UNPROTECTED ||
|
||||
itr->second == QUERY_VALUE_HDCP_V1 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_0 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_1 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_2 ||
|
||||
itr->second == QUERY_VALUE_DISCONNECTED);
|
||||
|
||||
itr = query_info.find(QUERY_KEY_MAX_HDCP_LEVEL);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
EXPECT_TRUE(itr->second == QUERY_VALUE_UNPROTECTED ||
|
||||
itr->second == QUERY_VALUE_HDCP_V1 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_0 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_1 ||
|
||||
itr->second == QUERY_VALUE_HDCP_V2_2 ||
|
||||
itr->second == QUERY_VALUE_DISCONNECTED);
|
||||
|
||||
itr = query_info.find(QUERY_KEY_USAGE_SUPPORT);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
EXPECT_TRUE(itr->second == QUERY_VALUE_TRUE ||
|
||||
itr->second == QUERY_VALUE_FALSE);
|
||||
|
||||
itr = query_info.find(QUERY_KEY_NUMBER_OF_OPEN_SESSIONS);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
ss.clear();
|
||||
ss.str(itr->second);
|
||||
uint32_t open_sessions;
|
||||
EXPECT_TRUE(ss >> open_sessions);
|
||||
EXPECT_TRUE(ss.eof());
|
||||
|
||||
itr = query_info.find(QUERY_KEY_MAX_NUMBER_OF_SESSIONS);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
ss.clear();
|
||||
ss.str(itr->second);
|
||||
uint32_t max_sessions;
|
||||
EXPECT_TRUE(ss >> max_sessions);
|
||||
EXPECT_TRUE(ss.eof());
|
||||
EXPECT_LE(open_sessions, max_sessions);
|
||||
EXPECT_LE(8u, max_sessions);
|
||||
|
||||
itr = query_info.find(QUERY_KEY_OEMCRYPTO_API_VERSION);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
ss.clear();
|
||||
ss.str(itr->second);
|
||||
uint32_t api_version;
|
||||
EXPECT_TRUE(ss >> api_version);
|
||||
EXPECT_TRUE(ss.eof());
|
||||
EXPECT_LE(10u, api_version);
|
||||
}
|
||||
|
||||
TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) {
|
||||
|
||||
Reference in New Issue
Block a user