Merge "Don't allow using or allocating a buffer after the first state transition" into klp-dev am: 922ad6183e am: 0893c50bcf am: 59bc7f77f8
am: 82ffcbd667

Change-Id: I1b2ea29d1c22f1714f0c0e90a56c585176742dd2
diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp
index 84724a6..07499fc 100644
--- a/media/libstagefright/omx/OMXNodeInstance.cpp
+++ b/media/libstagefright/omx/OMXNodeInstance.cpp
@@ -740,6 +740,12 @@
     // We do not support metadata mode changes past buffer allocation
     mSailed = true;
 
+    if (!mSailed) {
+        ALOGE("b/35467458");
+        android_errorWriteLog(0x534e4554, "35467458");
+        return BAD_VALUE;
+    }
+
     // metadata buffers are not connected cross process
     BufferMeta *buffer_meta;
     bool isMeta = mUsingMetadata[portIndex];
@@ -1006,6 +1012,12 @@
     // We do not support metadata mode changes past buffer allocation
     mSailed = true;
 
+    if (!mSailed) {
+        ALOGE("b/35467458");
+        android_errorWriteLog(0x534e4554, "35467458");
+        return BAD_VALUE;
+    }
+
     BufferMeta *buffer_meta = new BufferMeta(size, portIndex);
 
     OMX_BUFFERHEADERTYPE *header;
@@ -1049,6 +1061,12 @@
     // We do not support metadata mode changes past buffer allocation
     mSailed = true;
 
+    if (!mSailed) {
+        ALOGE("b/35467458");
+        android_errorWriteLog(0x534e4554, "35467458");
+        return BAD_VALUE;
+    }
+
     // metadata buffers are not connected cross process
     bool isMeta = mUsingMetadata[portIndex];
     bool copy = !(crossProcess && isMeta);