am ce68b8ee: Fix expiry time overflow if it is unlimited
* commit 'ce68b8ee8835cd202e40a2d1246023dcd22fcc05': Fix expiry time overflow if it is unlimited
This commit is contained in:
@@ -145,7 +145,7 @@ class WVDrmPlugin : public android::DrmPlugin,
|
||||
bool hasNewUsableKey);
|
||||
|
||||
virtual void OnExpirationUpdate(const CdmSessionId& cdmSessionId,
|
||||
int64_t newExpiryTime);
|
||||
int64_t newExpiryTimeSeconds);
|
||||
|
||||
private:
|
||||
DISALLOW_EVIL_CONSTRUCTORS(WVDrmPlugin);
|
||||
|
||||
@@ -875,9 +875,12 @@ void WVDrmPlugin::OnSessionKeysChange(const CdmSessionId& cdmSessionId,
|
||||
}
|
||||
|
||||
void WVDrmPlugin::OnExpirationUpdate(const CdmSessionId& cdmSessionId,
|
||||
int64_t newExpiryTime) {
|
||||
int64_t newExpiryTimeSeconds) {
|
||||
Vector<uint8_t> sessionId = ToVector(cdmSessionId);
|
||||
sendExpirationUpdate(&sessionId, newExpiryTime * 1000);
|
||||
int64_t newExpiryTimeMilliseconds = newExpiryTimeSeconds == NEVER_EXPIRES
|
||||
? newExpiryTimeSeconds
|
||||
: newExpiryTimeSeconds * 1000;
|
||||
sendExpirationUpdate(&sessionId, newExpiryTimeMilliseconds);
|
||||
}
|
||||
|
||||
status_t WVDrmPlugin::queryProperty(const std::string& property,
|
||||
|
||||
@@ -1328,6 +1328,11 @@ TEST_F(WVDrmPluginTest, MarshalsEvents) {
|
||||
sendEvent(DrmPlugin::kDrmPluginEventKeyNeeded, 0,
|
||||
Pointee(ElementsAreArray(sessionIdRaw, kSessionIdSize)),
|
||||
NULL));
|
||||
// Expiry Time in Java API is in milliseconds.
|
||||
EXPECT_CALL(*listener,
|
||||
sendExpirationUpdate(
|
||||
Pointee(ElementsAreArray(sessionIdRaw, kSessionIdSize)),
|
||||
NEVER_EXPIRES));
|
||||
EXPECT_CALL(*listener,
|
||||
sendExpirationUpdate(
|
||||
Pointee(ElementsAreArray(sessionIdRaw, kSessionIdSize)),
|
||||
@@ -1364,6 +1369,7 @@ TEST_F(WVDrmPluginTest, MarshalsEvents) {
|
||||
plugin.OnSessionKeysChange(cdmSessionId, cdmKeysStatus, false);
|
||||
|
||||
plugin.OnSessionRenewalNeeded(cdmSessionId);
|
||||
plugin.OnExpirationUpdate(cdmSessionId, NEVER_EXPIRES);
|
||||
plugin.OnExpirationUpdate(cdmSessionId, kExpiryTimeInSeconds);
|
||||
|
||||
cdmKeysStatus[kKeyId1] = kKeyStatusUsable;
|
||||
|
||||
Reference in New Issue
Block a user