summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorAlex Ray <aray@google.com>2013-05-28 20:18:22 -0700
committerAlex Ray <aray@google.com>2013-05-29 16:03:18 -0700
commit20cb300bce9a2b80966a422ef2de35b18533e1dd (patch)
tree5b89eceb8d06d7d418bc3004b14224c4d45082ae /services
parentc3a73bb6446df8c1387a2b3ff9357190f515eccb (diff)
downloadframeworks_av-20cb300bce9a2b80966a422ef2de35b18533e1dd.zip
frameworks_av-20cb300bce9a2b80966a422ef2de35b18533e1dd.tar.gz
frameworks_av-20cb300bce9a2b80966a422ef2de35b18533e1dd.tar.bz2
camera3: Error on minimum buffer count
Change-Id: Idf16de20e940e411286ec3e477534b36ef1c9b11
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/camera3/Camera3OutputStream.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/camera3/Camera3OutputStream.cpp b/services/camera/libcameraservice/camera3/Camera3OutputStream.cpp
index 2efeede..f085443 100644
--- a/services/camera/libcameraservice/camera3/Camera3OutputStream.cpp
+++ b/services/camera/libcameraservice/camera3/Camera3OutputStream.cpp
@@ -301,8 +301,13 @@ status_t Camera3OutputStream::configureQueueLocked() {
return res;
}
- ALOGV("%s: Consumer wants %d buffers", __FUNCTION__,
- maxConsumerBuffers);
+ ALOGV("%s: Consumer wants %d buffers, HAL wants %d", __FUNCTION__,
+ maxConsumerBuffers, camera3_stream::max_buffers);
+ if (camera3_stream::max_buffers == 0) {
+ ALOGE("%s: Camera HAL requested no max_buffers, requires at least 1",
+ __FUNCTION__, camera3_stream::max_buffers);
+ return INVALID_OPERATION;
+ }
mTotalBufferCount = maxConsumerBuffers + camera3_stream::max_buffers;
mDequeuedBufferCount = 0;