Query analog output capabilities.
[ Merge of http://go/wvgerrit/107763 ] This CL enables the ability to query the CDM for the analog output capabilites of the device. Due to the number of possibilities that OEMCrypto can report, two queries are exposed: - Output capabilities: None, Supported, CGMS-C, Unknown - Can disable: True, False, Unknown Bug: 168322023 Test: Android integration test Change-Id: I8036a89237d698f170d2c1901c41d1d6b708c917
This commit is contained in:
@@ -63,6 +63,14 @@ const wvcdm::CdmIdentifier kAlternateCdmIdentifier2 = {
|
||||
const std::string kEmptyServiceCertificate;
|
||||
const std::string kComma = ",";
|
||||
|
||||
// Analog output capabilities constants.
|
||||
const std::vector<std::string> kAnalogOutputCapabilities = {
|
||||
wvcdm::QUERY_VALUE_NONE, wvcdm::QUERY_VALUE_SUPPORTED,
|
||||
wvcdm::QUERY_VALUE_CGMS_A, wvcdm::QUERY_VALUE_UNKNOWN};
|
||||
const std::vector<std::string> kCanDisableAnalogOutput = {
|
||||
wvcdm::QUERY_VALUE_TRUE, wvcdm::QUERY_VALUE_FALSE,
|
||||
wvcdm::QUERY_VALUE_UNKNOWN};
|
||||
|
||||
// Protobuf generated classes
|
||||
using video_widevine::LicenseIdentification;
|
||||
using video_widevine::LicenseRequest_ContentIdentification;
|
||||
@@ -4985,6 +4993,18 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatus) {
|
||||
ASSERT_FALSE(ss.fail());
|
||||
EXPECT_TRUE(ss.eof());
|
||||
EXPECT_LE(0u, api_minor_version);
|
||||
|
||||
EXPECT_EQ(
|
||||
wvcdm::NO_ERROR,
|
||||
decryptor_->QueryStatus(
|
||||
kLevelDefault, wvcdm::QUERY_KEY_ANALOG_OUTPUT_CAPABILITIES, &value));
|
||||
EXPECT_THAT(kAnalogOutputCapabilities, Contains(value));
|
||||
|
||||
EXPECT_EQ(
|
||||
wvcdm::NO_ERROR,
|
||||
decryptor_->QueryStatus(
|
||||
kLevelDefault, wvcdm::QUERY_KEY_CAN_DISABLE_ANALOG_OUTPUT, &value));
|
||||
EXPECT_THAT(kCanDisableAnalogOutput, Contains(value));
|
||||
}
|
||||
|
||||
TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) {
|
||||
@@ -5115,6 +5135,16 @@ TEST_F(WvCdmRequestLicenseTest, QueryStatusL3) {
|
||||
ASSERT_FALSE(ss.fail());
|
||||
EXPECT_TRUE(ss.eof());
|
||||
EXPECT_LE(200u, max_usage_table_entries);
|
||||
|
||||
EXPECT_EQ(wvcdm::NO_ERROR,
|
||||
decryptor_->QueryStatus(
|
||||
kLevel3, wvcdm::QUERY_KEY_ANALOG_OUTPUT_CAPABILITIES, &value));
|
||||
EXPECT_THAT(kAnalogOutputCapabilities, Contains(value));
|
||||
|
||||
EXPECT_EQ(wvcdm::NO_ERROR,
|
||||
decryptor_->QueryStatus(
|
||||
kLevel3, wvcdm::QUERY_KEY_CAN_DISABLE_ANALOG_OUTPUT, &value));
|
||||
EXPECT_THAT(kCanDisableAnalogOutput, Contains(value));
|
||||
}
|
||||
|
||||
TEST_F(WvCdmRequestLicenseTest, QueryOemCryptoSessionId) {
|
||||
|
||||
Reference in New Issue
Block a user