Merge "DecryptHandle cleanup" am: a8129f7246
am: f1a372c179
Change-Id: I6ed050b13258059a7e2d8fd2baa25a1bed92bab0
diff --git a/drm/common/IDrmManagerService.cpp b/drm/common/IDrmManagerService.cpp
index a6d33b0..e234547 100644
--- a/drm/common/IDrmManagerService.cpp
+++ b/drm/common/IDrmManagerService.cpp
@@ -33,7 +33,6 @@
#include "IDrmManagerService.h"
-#define INVALID_BUFFER_LENGTH (-1)
#define MAX_BINDER_TRANSACTION_SIZE ((1*1024*1024)-(4096*2))
using namespace android;
@@ -44,26 +43,6 @@
data->writeString8(handle->mimeType);
data->writeInt32(handle->decryptApiType);
data->writeInt32(handle->status);
-
- int size = handle->copyControlVector.size();
- data->writeInt32(size);
- for (int i = 0; i < size; i++) {
- data->writeInt32(handle->copyControlVector.keyAt(i));
- data->writeInt32(handle->copyControlVector.valueAt(i));
- }
-
- size = handle->extendedData.size();
- data->writeInt32(size);
- for (int i = 0; i < size; i++) {
- data->writeString8(handle->extendedData.keyAt(i));
- data->writeString8(handle->extendedData.valueAt(i));
- }
-
- if (NULL != handle->decryptInfo) {
- data->writeInt32(handle->decryptInfo->decryptBufferLength);
- } else {
- data->writeInt32(INVALID_BUFFER_LENGTH);
- }
}
static void readDecryptHandleFromParcelData(
@@ -76,39 +55,12 @@
handle->mimeType = data.readString8();
handle->decryptApiType = data.readInt32();
handle->status = data.readInt32();
-
- int size = data.readInt32();
- for (int i = 0; i < size; i++) {
- DrmCopyControl key = (DrmCopyControl)data.readInt32();
- int value = data.readInt32();
- handle->copyControlVector.add(key, value);
- }
-
- size = data.readInt32();
- for (int i = 0; i < size; i++) {
- String8 key = data.readString8();
- String8 value = data.readString8();
- handle->extendedData.add(key, value);
- }
-
- handle->decryptInfo = NULL;
- const int bufferLen = data.readInt32();
- if (INVALID_BUFFER_LENGTH != bufferLen) {
- handle->decryptInfo = new DecryptInfo();
- handle->decryptInfo->decryptBufferLength = bufferLen;
- }
}
static void clearDecryptHandle(sp<DecryptHandle> &handle) {
if (handle == NULL) {
return;
}
- if (handle->decryptInfo) {
- delete handle->decryptInfo;
- handle->decryptInfo = NULL;
- }
- handle->copyControlVector.clear();
- handle->extendedData.clear();
}
int BpDrmManagerService::addUniqueId(bool isNative) {
diff --git a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
index 769de0c..86a2c8f 100644
--- a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
+++ b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
@@ -512,7 +512,6 @@
decryptHandle->mimeType = MimeTypeUtil::convertMimeType(contentType);
decryptHandle->decryptApiType = DecryptApiType::CONTAINER_BASED;
decryptHandle->status = RightsStatus::RIGHTS_VALID;
- decryptHandle->decryptInfo = NULL;
result = DRM_NO_ERROR;
} else {
if (retVal && NULL != decodeSession) {
@@ -579,13 +578,6 @@
}
if (NULL != decryptHandle.get()) {
- if (NULL != decryptHandle->decryptInfo) {
- delete decryptHandle->decryptInfo;
- decryptHandle->decryptInfo = NULL;
- }
-
- decryptHandle->copyControlVector.clear();
- decryptHandle->extendedData.clear();
decryptHandle.clear();
}
diff --git a/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp b/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp
index 0fa3478..976b820 100644
--- a/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp
+++ b/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp
@@ -244,7 +244,6 @@
decryptHandle->mimeType = String8("video/passthru");
decryptHandle->decryptApiType = DecryptApiType::ELEMENTARY_STREAM_BASED;
decryptHandle->status = DRM_NO_ERROR;
- decryptHandle->decryptInfo = NULL;
return DRM_NO_ERROR;
#else
(void)(decryptHandle.get()); // unused
@@ -261,9 +260,6 @@
status_t DrmPassthruPlugIn::onCloseDecryptSession(int uniqueId, sp<DecryptHandle>& decryptHandle) {
ALOGV("DrmPassthruPlugIn::onCloseDecryptSession() : %d", uniqueId);
if (NULL != decryptHandle.get()) {
- if (NULL != decryptHandle->decryptInfo) {
- delete decryptHandle->decryptInfo; decryptHandle->decryptInfo = NULL;
- }
decryptHandle.clear();
}
return DRM_NO_ERROR;
diff --git a/include/drm/drm_framework_common.h b/include/drm/drm_framework_common.h
index d5f3ba2..7e3c28f 100644
--- a/include/drm/drm_framework_common.h
+++ b/include/drm/drm_framework_common.h
@@ -49,17 +49,6 @@
};
/**
- * copy control settings used in DecryptHandle::copyControlVector
- */
-enum DrmCopyControl {
- DRM_COPY_CONTROL_BASE = 1000,
- // the key used to set the value for HDCP
- // if the associated value is 1, then HDCP is required
- // otherwise, HDCP is not required
- DRM_COPY_CONTROL_HDCP = DRM_COPY_CONTROL_BASE
-};
-
-/**
* Defines DRM Buffer
*/
class DrmBuffer {
@@ -237,20 +226,6 @@
};
/**
- * Defines decryption information
- */
-class DecryptInfo {
-public:
- /**
- * size of memory to be allocated to get the decrypted content.
- */
- int decryptBufferLength;
- /**
- * reserved for future purpose
- */
-};
-
-/**
* Defines decryption handle
*/
class DecryptHandle : public RefBase {
@@ -287,35 +262,16 @@
* RIGHTS_VALID, RIGHTS_INVALID, RIGHTS_EXPIRED or RIGHTS_NOT_ACQUIRED
*/
int status;
- /**
- * Information required to decrypt content
- * e.g. size of memory to be allocated to get the decrypted content.
- */
- DecryptInfo* decryptInfo;
- /**
- * Defines a vector for the copy control settings sent from the DRM plugin
- * to the player
- */
- KeyedVector<DrmCopyControl, int> copyControlVector;
-
- /**
- * Defines a vector for any extra data the DRM plugin wants to send
- * to the native code
- */
- KeyedVector<String8, String8> extendedData;
public:
DecryptHandle():
decryptId(INVALID_VALUE),
mimeType(""),
decryptApiType(INVALID_VALUE),
- status(INVALID_VALUE),
- decryptInfo(NULL) {
-
+ status(INVALID_VALUE) {
}
~DecryptHandle() {
- delete decryptInfo; decryptInfo = NULL;
}
};