From 27b0159fa29b85b63f7bcad83bd13c70355a7bcd Mon Sep 17 00:00:00 2001 From: daisuke jinno Date: Wed, 22 Apr 2015 15:28:12 +0900 Subject: DO NOT MERGE: The preview frame data is broken when sending via Binder [Cause] CallbackProcessor uses always same buffer to send preview data. A buffer is written before it is read by user process. [Solution] Increment buffer index correctly. Change-Id: I87a7e3dc6546448a419c96aa58ace3b7d086bf70 --- services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'services') diff --git a/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp b/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp index 5c8f750..88c5811 100644 --- a/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp +++ b/services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp @@ -395,7 +395,7 @@ status_t CallbackProcessor::processNewCallback(sp &client) { heapIdx = mCallbackHeapHead; - mCallbackHeapHead = (mCallbackHeapHead + 1) & kCallbackHeapCount; + mCallbackHeapHead = (mCallbackHeapHead + 1) % kCallbackHeapCount; mCallbackHeapFree--; // TODO: Get rid of this copy by passing the gralloc queue all the way -- cgit v1.1