Add Android property for numberOfOpenSessions
Merged from Widevine CDM repo: https://widevine-internal-review.googlesource.com/#/c/13960 Change-Id: I04c63c75987b7cd81fd60af925676c6d99368b22
This commit is contained in:
@@ -526,6 +526,17 @@ status_t WVDrmPlugin::getPropertyString(const String8& name,
|
||||
return kErrorCDMGeneric;
|
||||
}
|
||||
value = status[QUERY_KEY_USAGE_SUPPORT].c_str();
|
||||
} else if (name == "numberOfOpenSessions") {
|
||||
CdmQueryMap status;
|
||||
CdmResponseType res = mCDM->QueryStatus(&status);
|
||||
if (res != wvcdm::NO_ERROR) {
|
||||
ALOGE("Error querying CDM status: %u", res);
|
||||
return mapCdmResponseType(res);
|
||||
} else if (!status.count(QUERY_KEY_NUMBER_OF_OPEN_SESSIONS)) {
|
||||
ALOGE("CDM did not report number of open media drm sessions");
|
||||
return kErrorCDMGeneric;
|
||||
}
|
||||
value = status[QUERY_KEY_NUMBER_OF_OPEN_SESSIONS].c_str();
|
||||
} else if (name == "maxNumberOfSessions") {
|
||||
CdmQueryMap status;
|
||||
CdmResponseType res = mCDM->QueryStatus(&status);
|
||||
|
||||
@@ -695,6 +695,10 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
CdmQueryMap provisioningIDMap;
|
||||
provisioningIDMap[QUERY_KEY_PROVISIONING_ID] = provisioningId;
|
||||
|
||||
static const string openSessions = "15";
|
||||
CdmQueryMap openSessionsMap;
|
||||
openSessionsMap[QUERY_KEY_NUMBER_OF_OPEN_SESSIONS] = openSessions;
|
||||
|
||||
static const string maxSessions = "18";
|
||||
CdmQueryMap maxSessionsMap;
|
||||
maxSessionsMap[QUERY_KEY_MAX_NUMBER_OF_SESSIONS] = maxSessions;
|
||||
@@ -710,6 +714,8 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
Return(wvcdm::NO_ERROR)))
|
||||
.WillOnce(DoAll(SetArgPointee<0>(provisioningIDMap),
|
||||
Return(wvcdm::NO_ERROR)))
|
||||
.WillOnce(DoAll(SetArgPointee<0>(openSessionsMap),
|
||||
Return(wvcdm::NO_ERROR)))
|
||||
.WillOnce(DoAll(SetArgPointee<0>(maxSessionsMap),
|
||||
Return(wvcdm::NO_ERROR)));
|
||||
|
||||
@@ -753,6 +759,10 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
EXPECT_THAT(vectorResult, ElementsAreArray(provisioningId.data(),
|
||||
provisioningId.size()));
|
||||
|
||||
res = plugin.getPropertyString(String8("numberOfOpenSessions"), stringResult);
|
||||
ASSERT_EQ(OK, res);
|
||||
EXPECT_EQ(openSessions, stringResult.string());
|
||||
|
||||
res = plugin.getPropertyString(String8("maxNumberOfSessions"), stringResult);
|
||||
ASSERT_EQ(OK, res);
|
||||
EXPECT_EQ(maxSessions, stringResult.string());
|
||||
|
||||
Reference in New Issue
Block a user