IOMX: add API for setPortMode

- Add setPortMode to centralize port mode configuration

- Remove storeMetaDataInBuffers and enableNativeBuffers. These are
  no longer exposed to the client. Metadata mode and native/secure
  buffer mode will be enabled by OMX as needed by the port mode.

- Move handling of legacy adpative experiment (legacy metadata mode)
  to OMX side. Legacy mode will now appear the same as non-metadata
  mode to client.

bug: 31399200

Change-Id: Iaf33bd7c30fab4acbc19e9fb8c19e322f9b4a0a0
diff --git a/media/libmedia/OMXBuffer.cpp b/media/libmedia/OMXBuffer.cpp
index 0931872..2834853 100644
--- a/media/libmedia/OMXBuffer.cpp
+++ b/media/libmedia/OMXBuffer.cpp
@@ -38,10 +38,9 @@
       mRangeLength(codecBuffer != NULL ? codecBuffer->size() : 0) {
 }
 
-OMXBuffer::OMXBuffer(const sp<IMemory> &mem, size_t allottedSize)
+OMXBuffer::OMXBuffer(const sp<IMemory> &mem)
     : mBufferType(kBufferTypeSharedMem),
-      mMem(mem),
-      mAllottedSize(allottedSize ? : mem->size()) {
+      mMem(mem) {
 }
 
 OMXBuffer::OMXBuffer(const sp<GraphicBuffer> &gbuf)
@@ -68,11 +67,7 @@
 
         case kBufferTypeSharedMem:
         {
-            status_t err = parcel->writeStrongBinder(IInterface::asBinder(mMem));
-            if (err != NO_ERROR) {
-                return err;
-            }
-            return parcel->writeUint32(mAllottedSize);
+            return parcel->writeStrongBinder(IInterface::asBinder(mMem));
         }
 
         case kBufferTypeANWBuffer:
@@ -103,10 +98,7 @@
 
         case kBufferTypeSharedMem:
         {
-            sp<IMemory> params = interface_cast<IMemory>(parcel->readStrongBinder());
-
-            mMem = params;
-            mAllottedSize = parcel->readUint32();
+            mMem = interface_cast<IMemory>(parcel->readStrongBinder());
             break;
         }