Merge changes from topic "am-79da5bca-0ca6-42a8-8b95-7ab98d864152" into nyc-mr1-dev
* changes:
[automerger] MediaExtractor: stop rendering when an error occurs am: 9bc021a323 am: d04d54f843
[automerger] MediaExtractor: stop rendering when an error occurs am: 9bc021a323
MediaExtractor: stop rendering when an error occurs
diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp
index 7bd66b1..26d3895 100644
--- a/media/libstagefright/omx/OMXNodeInstance.cpp
+++ b/media/libstagefright/omx/OMXNodeInstance.cpp
@@ -1387,12 +1387,15 @@
}
BufferMeta *buffer_meta = static_cast<BufferMeta *>(header->pAppPrivate);
+ // Invalidate buffers in the client side first before calling OMX_FreeBuffer.
+ // If not, pending events in the client side might access the buffers after free.
+ invalidateBufferID(buffer);
+
OMX_ERRORTYPE err = OMX_FreeBuffer(mHandle, portIndex, header);
CLOG_IF_ERROR(freeBuffer, err, "%s:%u %#x", portString(portIndex), portIndex, buffer);
delete buffer_meta;
buffer_meta = NULL;
- invalidateBufferID(buffer);
return StatusFromOMXError(err);
}