Camera: use streamIdx as SurfaceMap index
Test: surface sharing CTS tests
Bug: n/a
Change-Id: I69d59f716b25a4e912e09626a48d8050a6227b31
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index 6e61be2..2131cf8 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -2318,7 +2318,7 @@
return NULL;
}
}
- newRequest->mOutputSurfaces[i] = surfaces;
+ newRequest->mOutputSurfaces[streams.data.i32[i]] = surfaces;
}
// Lazy completion of stream configuration (allocation/registration)
@@ -4930,14 +4930,13 @@
res = outputStream->getBuffer(&outputBuffers->editItemAt(j),
waitDuration,
- captureRequest->mOutputSurfaces[j]);
+ captureRequest->mOutputSurfaces[outputStream->getId()]);
if (res != OK) {
// Can't get output buffer from gralloc queue - this could be due to
// abandoned queue or other consumer misbehavior, so not a fatal
// error
ALOGE("RequestThread: Can't get output buffer, skipping request:"
" %s (%d)", strerror(-res), res);
-
return TIMED_OUT;
}