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;
     }
 };