media: ImageReader throws OutOfResourcesException when out of buffers

Bug: 10507939
Change-Id: I34c66485695ad6141388be85903cbecb9ebaa5ab
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 7f1d946..92edb8a 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -155,7 +155,7 @@
     return buffer;
 }
 
-void JNIImageReaderContext::returnLockedBuffer(CpuConsumer::LockedBuffer * buffer) {
+void JNIImageReaderContext::returnLockedBuffer(CpuConsumer::LockedBuffer* buffer) {
     mBuffers.push_back(buffer);
 }
 
@@ -698,8 +698,11 @@
     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);