Merge "Revert "DO NOT MERGE omx: don't try to memcpy from/to opaque pointer/native handle."" into oc-dev
am: 2b37975b89

Change-Id: Iee2963cf2591636f31c0ef225931751d7cc2a9d5
diff --git a/media/libstagefright/include/OMXNodeInstance.h b/media/libstagefright/include/OMXNodeInstance.h
index 0181794..00c37e1 100644
--- a/media/libstagefright/include/OMXNodeInstance.h
+++ b/media/libstagefright/include/OMXNodeInstance.h
@@ -107,11 +107,6 @@
 
     static OMX_CALLBACKTYPE kCallbacks;
 
-    enum SecureBufferType {
-        kSecureBufferTypeUnknown,
-        kSecureBufferTypeOpaque,
-        kSecureBufferTypeNativeHandle,
-    };
 private:
     struct CallbackDispatcherThread;
     struct CallbackDispatcher;
@@ -150,6 +145,11 @@
     IOMX::PortMode mPortMode[2];
     // metadata and secure buffer types and graphic buffer mode tracking
     MetadataBufferType mMetadataType[2];
+    enum SecureBufferType {
+        kSecureBufferTypeUnknown,
+        kSecureBufferTypeOpaque,
+        kSecureBufferTypeNativeHandle,
+    };
     SecureBufferType mSecureBufferType[2];
     bool mGraphicBufferEnabled[2];
 
diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp
index c0a312c..19b7757 100644
--- a/media/libstagefright/omx/OMXNodeInstance.cpp
+++ b/media/libstagefright/omx/OMXNodeInstance.cpp
@@ -131,34 +131,22 @@
                 static_cast<void*>(mHidlMemory->getPointer())) : nullptr;
     }
 
-    void CopyFromOMX(const OMX_BUFFERHEADERTYPE *header, OMXNodeInstance::SecureBufferType type) {
+    void CopyFromOMX(const OMX_BUFFERHEADERTYPE *header) {
         if (!mCopyFromOmx) {
             return;
         }
 
-        if (type != OMXNodeInstance::kSecureBufferTypeUnknown) {
-            ALOGE("b/77486542");
-            android_errorWriteLog(0x534e4554, "77486542");
-            return;
-        }
-
         // check component returns proper range
         sp<ABuffer> codec = getBuffer(header, true /* limit */);
 
         memcpy(getPointer() + header->nOffset, codec->data(), codec->size());
     }
 
-    void CopyToOMX(const OMX_BUFFERHEADERTYPE *header, OMXNodeInstance::SecureBufferType type) {
+    void CopyToOMX(const OMX_BUFFERHEADERTYPE *header) {
         if (!mCopyToOmx) {
             return;
         }
 
-        if (type != OMXNodeInstance::kSecureBufferTypeUnknown) {
-            ALOGE("b/77486542");
-            android_errorWriteLog(0x534e4554, "77486542");
-            return;
-        }
-
         memcpy(header->pBuffer + header->nOffset,
                 getPointer() + header->nOffset,
                 header->nFilledLen);
@@ -1692,7 +1680,7 @@
         header->nFilledLen = rangeLength;
         header->nOffset = rangeOffset;
 
-        buffer_meta->CopyToOMX(header, mSecureBufferType[kPortIndexInput]);
+        buffer_meta->CopyToOMX(header);
     }
 
     return emptyBuffer_l(header, flags, timestamp, (intptr_t)buffer, fenceFd);
@@ -1980,7 +1968,7 @@
             CLOG_ERROR(onFillBufferDone, OMX_ErrorBadParameter,
                     FULL_BUFFER(NULL, buffer, msg.fenceFd));
         }
-        buffer_meta->CopyFromOMX(buffer, mSecureBufferType[kPortIndexOutput]);
+        buffer_meta->CopyFromOMX(buffer);
 
         // fix up the buffer info (especially timestamp) if needed
         codecBufferFilled(msg);