summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eino-Ville Talvala <etalvala@google.com> 2017-06-13 12:43:19 -0700
committer Eino-Ville Talvala <etalvala@google.com> 2017-06-15 06:34:31 -0700
commit0af9435572aa4ef66c61a62605f6eb3f8d218d8b (patch)
treef999ef81b25e558a3e1dea887f0d6db566f32ee9
parent484fb951e005584aeb22c5c2598898bc00eae22a (diff)
ImageReader: Set BufferItem mGraphicBuffer to null when returning it
The ImageReader JNI layer needs to maintain a list of BufferItems that back the Java Image objects. At start, we allocate maxImages of these in a list, and acquire and release them from this list as the application acquires and releases Images. However, on release, the contents of the BufferItem are not adjusted, so it can retain a reference to a GraphicBuffer until the BufferItem is reused. Test: Camera CTS passes, memory usage drops after camera bursts Bug: 62652080 Change-Id: I9aade5e32cbe0af0c15a3886e16ada1a70392b74
-rw-r--r--media/jni/android_media_ImageReader.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 163c4b012262..f408e57e29e4 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -177,6 +177,7 @@ BufferItem* JNIImageReaderContext::getBufferItem() {
}
void JNIImageReaderContext::returnBufferItem(BufferItem* buffer) {
+ buffer->mGraphicBuffer = nullptr;
mBuffers.push_back(buffer);
}