Merge "Update support for HDCP levels on Android and CE CDM." into udc-widevine-dev
This commit is contained in:
@@ -140,16 +140,16 @@ static const std::string QUERY_VALUE_SECURITY_LEVEL_UNKNOWN = "Unknown";
|
||||
static const std::string QUERY_VALUE_SECURITY_LEVEL_DEFAULT = "Default";
|
||||
static const std::string QUERY_VALUE_HDCP_NO_DIGITAL_OUTPUT = "Disconnected";
|
||||
static const std::string QUERY_VALUE_HDCP_NONE = "Unprotected";
|
||||
static const std::string QUERY_VALUE_HDCP_V1 = "HDCP-1.x";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_0 = "HDCP-2.0";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_1 = "HDCP-2.1";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_2 = "HDCP-2.2";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_3 = "HDCP-2.3";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_X = "HDCP-1.x";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_0 = "HDCP-1.0";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_1 = "HDCP-1.1";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_2 = "HDCP-1.2";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_3 = "HDCP-1.3";
|
||||
static const std::string QUERY_VALUE_HDCP_V1_4 = "HDCP-1.4";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_0 = "HDCP-2.0";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_1 = "HDCP-2.1";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_2 = "HDCP-2.2";
|
||||
static const std::string QUERY_VALUE_HDCP_V2_3 = "HDCP-2.3";
|
||||
static const std::string QUERY_VALUE_HDCP_LEVEL_UNKNOWN = "HDCP-LevelUnknown";
|
||||
static const std::string QUERY_VALUE_DRM_CERTIFICATE = "DrmCertificate";
|
||||
static const std::string QUERY_VALUE_KEYBOX = "Keybox";
|
||||
|
||||
@@ -38,8 +38,8 @@ std::string MapHdcpVersion(CryptoSession::HdcpCapability version) {
|
||||
switch (version) {
|
||||
case HDCP_NONE:
|
||||
return QUERY_VALUE_HDCP_NONE;
|
||||
case HDCP_V1:
|
||||
return QUERY_VALUE_HDCP_V1;
|
||||
case HDCP_V1: // 1.x, not 1.0
|
||||
return QUERY_VALUE_HDCP_V1_X;
|
||||
case HDCP_V2:
|
||||
return QUERY_VALUE_HDCP_V2_0;
|
||||
case HDCP_V2_1:
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user