Add support for crypto HAL on L3 devices DO NOT MERGE

Includes widevine library release version 4.5.0.7571

Change-Id: I9e574d5606576aab376d0524a4bf1a81e5a61678
related-to-bug: 6427322
related-to-bug: 6427274
This commit is contained in:
Jeff Tinker
2012-06-09 14:59:20 -07:00
committed by The Android Automerger
parent 8bffd069bd
commit 6bd2b05221
13 changed files with 183 additions and 53 deletions

View File

@@ -71,7 +71,7 @@ class WVDRMPluginAPI {
virtual bool RemoveRights(std::string &path) = 0;
virtual bool RemoveAllRights() = 0;
virtual bool Prepare(char *data, int len) = 0;
virtual int Operate(char *in, char *out, int len, char *iv) = 0;
virtual int Operate(char *in, int inLength, char *out, int outLength, char *iv) = 0;
enum EventType {
EventType_AcquireDrmInfoFailed,

View File

@@ -851,10 +851,8 @@ status_t WVMDrmPlugin::onDecrypt(int uniqueId, DecryptHandle* decryptHandle, int
if (*decBuffer == NULL)
return DRM_ERROR_DECRYPT;
(*decBuffer)->length = encBuffer->length;
int status;
status = mDrmPluginImpl->Operate(encBuffer->data, (*decBuffer)->data, encBuffer->length, iv);
status = mDrmPluginImpl->Operate(encBuffer->data, encBuffer->length, (*decBuffer)->data, (*decBuffer)->length, iv);
if (status != WVDRMPluginAPI::RIGHTS_VALID) {
(*decBuffer)->length = 0;
usleep(1000); // prevent spinning