Merge "Update support for HDCP levels on Android and CE CDM." into main

This commit is contained in:
Alex Dale
2024-03-21 21:00:59 +00:00
committed by Android (Google) Code Review
4 changed files with 35 additions and 28 deletions

View File

@@ -1661,6 +1661,24 @@ bool IsUrlSimilar(const std::string& expected_url,
}
return true;
}
// Checks if the provided |query_value| is one of the expected results
// from an HDCP level query.
// Note: Intentionally omits QUERY_VALUE_HDCP_LEVEL_UNKNOWN.
bool IsKnownQueryHdcpLevel(const std::string& query_value) {
return query_value == wvcdm::QUERY_VALUE_HDCP_V1_X ||
query_value == wvcdm::QUERY_VALUE_HDCP_V1_0 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V1_1 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V1_2 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V1_3 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V1_4 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V2_0 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V2_1 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V2_2 ||
query_value == wvcdm::QUERY_VALUE_HDCP_V2_3 ||
query_value == wvcdm::QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT ||
query_value == wvcdm::QUERY_VALUE_HDCP_NONE;
}
} // namespace
namespace wvcdm {
@@ -5276,20 +5294,12 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) {
EXPECT_EQ(wvcdm::NO_ERROR,
decryptor_->QueryStatus(
kLevelDefault, 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 ||
value == QUERY_VALUE_HDCP_V2_2 || value == QUERY_VALUE_HDCP_V2_3 ||
value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT);
EXPECT_TRUE(IsKnownQueryHdcpLevel(value)) << "value: " << value;
EXPECT_EQ(wvcdm::NO_ERROR,
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 ||
value == QUERY_VALUE_HDCP_V2_2 || value == QUERY_VALUE_HDCP_V2_3 ||
value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT);
EXPECT_TRUE(IsKnownQueryHdcpLevel(value)) << "value: " << value;
EXPECT_EQ(wvcdm::NO_ERROR,
decryptor_->QueryStatus(kLevelDefault,
@@ -5495,20 +5505,12 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) {
EXPECT_EQ(wvcdm::NO_ERROR,
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 ||
value == QUERY_VALUE_HDCP_V2_2 || value == QUERY_VALUE_HDCP_V2_3 ||
value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT);
EXPECT_TRUE(IsKnownQueryHdcpLevel(value)) << "value: " << value;
EXPECT_EQ(wvcdm::NO_ERROR,
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 ||
value == QUERY_VALUE_HDCP_V2_2 || value == QUERY_VALUE_HDCP_V2_3 ||
value == QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT);
EXPECT_TRUE(IsKnownQueryHdcpLevel(value)) << "value: " << value;
EXPECT_EQ(
wvcdm::NO_ERROR,