Camera2: Fix off-by-one error in ZSL selection.

Bug: 7258126
Change-Id: Ie6da4645c46a7bb0dbd11d7c6183e904f41f74fd
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 @@
     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;