summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2014-06-30 10:24:11 -0700
committerZhijun He <zhijunhe@google.com>2014-07-02 15:34:03 -0700
commitf0d962a6737eb8eec002d6804d9ffbe7bee672a0 (patch)
treeee1678ff2ede6bfc45412ddd4c48bc7bcb2be75c /services/camera/libcameraservice/device3/Camera3ZslStream.cpp
parent954d248e02e19f8ecd165804b7d063d346154f4c (diff)
downloadframeworks_av-f0d962a6737eb8eec002d6804d9ffbe7bee672a0.zip
frameworks_av-f0d962a6737eb8eec002d6804d9ffbe7bee672a0.tar.gz
frameworks_av-f0d962a6737eb8eec002d6804d9ffbe7bee672a0.tar.bz2
Camera3: fix ZSL processor3 issues
- Return input buffer in capture result. Per hal3.2 spec, we should return the input buffer in process capture result rather than immediately after process capture request. - Make the depths of mZslQueue and mFrameList the same. It doesn't make sense mFrameList depth is larger than mZslQueue depth. - Set the depths of mZslQueue and mFrameList based on pipelineMaxDepth. - Clear result queue while clearing zsl buffer queue. - Hook up camera3 buffer listener with ZslProcessor3, make sure that adding the same listener multiple times has no effect. - Remove flush call in pushToReprocess, it is a guaranteed deadlock once camera3 buffer listener is hooked up. Change-Id: I285155ab4241e827145855d628f8e98b881c01d5
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3ZslStream.cpp')
-rw-r--r--services/camera/libcameraservice/device3/Camera3ZslStream.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3ZslStream.cpp b/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
index 05b3d1f..6c298f9 100644
--- a/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
@@ -300,6 +300,7 @@ status_t Camera3ZslStream::enqueueInputBufferByTimestamp(
nsecs_t actual = pinnedBuffer->getBufferItem().mTimestamp;
if (actual != timestamp) {
+ // TODO: this is problematic, we'll end up with using wrong result for this pinned buffer.
ALOGW("%s: ZSL buffer candidate search didn't find an exact match --"
" requested timestamp = %" PRId64 ", actual timestamp = %" PRId64,
__FUNCTION__, timestamp, actual);