Source release v2.1.6-0-824 + third_party libs

Change-Id: If190f81154326aa7dc22d66009687f389146ddfd
This commit is contained in:
Joey Parrish
2014-07-14 13:25:39 -07:00
parent fa64436e4f
commit 97b453dd71
11 changed files with 522 additions and 173 deletions

View File

@@ -49,7 +49,7 @@ class CdmEngine {
virtual CdmResponseType RestoreKey(const CdmSessionId& session_id,
const CdmKeySetId& key_set_id);
virtual CdmResponseType CancelKeyRequest(const CdmSessionId& session_id);
virtual CdmResponseType RemoveKeys(const CdmSessionId& session_id);
// Construct valid renewal request for the current session keys.
virtual CdmResponseType GenerateRenewalRequest(const CdmSessionId& session_id,

View File

@@ -42,9 +42,6 @@ class CdmSession {
virtual CdmResponseType AddKey(const CdmKeyResponse& key_response,
CdmKeySetId* key_set_id);
// CancelKeyRequest() - Cancel session.
virtual CdmResponseType CancelKeyRequest();
// Query session status
virtual CdmResponseType QueryStatus(CdmQueryMap* key_info);
@@ -94,6 +91,13 @@ class CdmSession {
is_usage_update_needed_ = false;
}
// ReleaseCrypto() - Closes the underlying crypto session but leaves this
// object alive. It is invalid to call any method that requires a crypto
// session after calling this. Since calling this renders this object mostly
// useless, it is preferable to simply delete this object (which will also
// release the underlying crypto session) rather than call this method.
virtual CdmResponseType ReleaseCrypto();
private:
// Internal constructor
void Create(CdmLicense* license_parser, CryptoSession* crypto_session,

View File

@@ -288,18 +288,17 @@ CdmResponseType CdmEngine::RestoreKey(
return sts;
}
CdmResponseType CdmEngine::CancelKeyRequest(const CdmSessionId& session_id) {
LOGI("CdmEngine::CancelKeyRequest");
CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) {
LOGI("CdmEngine::RemoveKeys");
CdmSessionMap::iterator iter = sessions_.find(session_id);
if (iter == sessions_.end()) {
LOGE("CdmEngine::CancelKeyRequest: session_id not found = %s",
LOGE("CdmEngine::RemoveKeys: session_id not found = %s",
session_id.c_str());
return KEY_ERROR;
}
// Re-initialize to release crypto session/keys without closing session
iter->second->Init();
iter->second->ReleaseCrypto();
return NO_ERROR;
}

View File

@@ -318,12 +318,6 @@ CdmResponseType CdmSession::QueryKeyControlInfo(CdmQueryMap* key_info) {
return NO_ERROR;
}
// CancelKeyRequest() - Cancel session.
CdmResponseType CdmSession::CancelKeyRequest() {
crypto_session_->Close();
return NO_ERROR;
}
// Decrypt() - Accept encrypted buffer and return decrypted data.
CdmResponseType CdmSession::Decrypt(const CdmDecryptionParameters& params) {
if (crypto_session_.get() == NULL || !crypto_session_->IsOpen())
@@ -539,4 +533,9 @@ CdmResponseType CdmSession::UpdateUsageInformation() {
return crypto_session_->UpdateUsageInformation();
}
CdmResponseType CdmSession::ReleaseCrypto() {
crypto_session_->Close();
return NO_ERROR;
}
} // namespace wvcdm