summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Igor Murashkin <iam@google.com> 2013-08-27 15:19:55 -0700
committer Igor Murashkin <iam@google.com> 2013-08-27 16:42:24 -0700
commitd901c033756b01f5bd3c697fb3802331e9b45ad0 (patch)
treec23f584e858700cb2aaa9c1707dea00e2da56860
parentbbbc8660cdbfb033291f1911742a942a42c85af0 (diff)
media: ImageReader throws OutOfResourcesException when out of buffers
Bug: 10507939 Change-Id: I34c66485695ad6141388be85903cbecb9ebaa5ab
-rw-r--r--media/jni/android_media_ImageReader.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 7f1d946a76c2..92edb8ab774c 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -155,7 +155,7 @@ CpuConsumer::LockedBuffer* JNIImageReaderContext::getLockedBuffer() {
return buffer;
}
-void JNIImageReaderContext::returnLockedBuffer(CpuConsumer::LockedBuffer * buffer) {
+void JNIImageReaderContext::returnLockedBuffer(CpuConsumer::LockedBuffer* buffer) {
mBuffers.push_back(buffer);
}
@@ -698,8 +698,11 @@ static jboolean ImageReader_imageSetup(JNIEnv* env, jobject thiz,
CpuConsumer* consumer = ctx->getCpuConsumer();
CpuConsumer::LockedBuffer* buffer = ctx->getLockedBuffer();
if (buffer == NULL) {
- ALOGE("Unable to acquire a lockedBuffer, very likely client tries to lock more than"
- "maxImages buffers");
+ ALOGW("Unable to acquire a lockedBuffer, very likely client tries to lock more than"
+ " maxImages buffers");
+ jniThrowException(env, OutOfResourcesException,
+ "Too many outstanding images, close existing images"
+ " to be able to acquire more.");
return false;
}
status_t res = consumer->lockNextBuffer(buffer);