summaryrefslogtreecommitdiffstats
path: root/services/camera
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2012-10-07 09:10:36 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-07 09:10:36 -0700
commit400011b9785ca2a92be116736a80cbc170d62f4c (patch)
tree018091cfb9c1763a0a596c3dc0f8e09d78d1458b /services/camera
parent3b23853ad7e0d4f1203071beaadb12deafaf2096 (diff)
parent3576742a2bb3dc10bf8256579d600d85f17c3835 (diff)
downloadframeworks_av-400011b9785ca2a92be116736a80cbc170d62f4c.zip
frameworks_av-400011b9785ca2a92be116736a80cbc170d62f4c.tar.gz
frameworks_av-400011b9785ca2a92be116736a80cbc170d62f4c.tar.bz2
am 3576742a: am 4d410ede: Camera2: Fix off-by-one error in ZSL selection.
* commit '3576742a2bb3dc10bf8256579d600d85f17c3835': Camera2: Fix off-by-one error in ZSL selection.
Diffstat (limited to 'services/camera')
-rw-r--r--services/camera/libcameraservice/camera2/ZslProcessor.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/services/camera/libcameraservice/camera2/ZslProcessor.cpp b/services/camera/libcameraservice/camera2/ZslProcessor.cpp
index 5208574..1937955 100644
--- a/services/camera/libcameraservice/camera2/ZslProcessor.cpp
+++ b/services/camera/libcameraservice/camera2/ZslProcessor.cpp
@@ -254,11 +254,14 @@ status_t ZslProcessor::pushToReprocess(int32_t requestId) {
if (mZslQueueTail != mZslQueueHead) {
CameraMetadata request;
size_t index = mZslQueueTail;
- while (request.isEmpty() && index != mZslQueueHead) {
- request = mZslQueue[index].frame;
+ while (index != mZslQueueHead) {
+ if (!mZslQueue[index].frame.isEmpty()) {
+ request = mZslQueue[index].frame;
+ break;
+ }
index = (index + 1) % kZslBufferDepth;
}
- if (request.isEmpty()) {
+ if (index == mZslQueueHead) {
ALOGV("%s: ZSL queue has no valid frames to send yet.",
__FUNCTION__);
return NOT_ENOUGH_DATA;