diff options
| author | 2013-08-27 15:19:55 -0700 | |
|---|---|---|
| committer | 2013-08-27 16:42:24 -0700 | |
| commit | d901c033756b01f5bd3c697fb3802331e9b45ad0 (patch) | |
| tree | c23f584e858700cb2aaa9c1707dea00e2da56860 | |
| parent | bbbc8660cdbfb033291f1911742a942a42c85af0 (diff) | |
media: ImageReader throws OutOfResourcesException when out of buffers
Bug: 10507939
Change-Id: I34c66485695ad6141388be85903cbecb9ebaa5ab
| -rw-r--r-- | media/jni/android_media_ImageReader.cpp | 9 |
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); |