summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera2Device.cpp
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2012-08-13 12:16:06 -0700
committerEino-Ville Talvala <etalvala@google.com>2012-08-20 16:08:00 -0700
commit228a53805808a24cb19fcf13b1f0bdc2ed89bbe1 (patch)
tree96b41c80d1080b83e286d450daf161782fe66627 /services/camera/libcameraservice/Camera2Device.cpp
parent3cc89794d92b833feff15ca76dfa196cc886e43f (diff)
downloadframeworks_av-228a53805808a24cb19fcf13b1f0bdc2ed89bbe1.zip
frameworks_av-228a53805808a24cb19fcf13b1f0bdc2ed89bbe1.tar.gz
frameworks_av-228a53805808a24cb19fcf13b1f0bdc2ed89bbe1.tar.bz2
Camera2: Add support for preview callbacks
- Move camera overall state enum to be part of parameters - No longer use ICameraLock to guard access to overall state enum - Add callback flag management - Add callback stream and management Bug: 6243944 Change-Id: Ideb3dc523a23c05e440e429ebf838b1900a96573
Diffstat (limited to 'services/camera/libcameraservice/Camera2Device.cpp')
-rw-r--r--services/camera/libcameraservice/Camera2Device.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/camera/libcameraservice/Camera2Device.cpp b/services/camera/libcameraservice/Camera2Device.cpp
index bbdee39..583701d 100644
--- a/services/camera/libcameraservice/Camera2Device.cpp
+++ b/services/camera/libcameraservice/Camera2Device.cpp
@@ -1028,8 +1028,9 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w,
buffer_handle_t* buffer) {
StreamAdapter *stream =
const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w));
- ALOGVV("Stream %d enqueue: Buffer %p captured at %lld ns",
- stream->mId, (void*)(*buffer), timestamp);
+ stream->mFrameCount++;
+ ALOGVV("Stream %d enqueue: Frame %d (%p) captured at %lld ns",
+ stream->mId, mFrameCount, (void*)(*buffer), timestamp);
int state = stream->mState;
if (state != ACTIVE) {
ALOGE("%s: Called when in bad state: %d", __FUNCTION__, state);
@@ -1037,6 +1038,7 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w,
}
ANativeWindow *a = toANW(w);
status_t err;
+
err = native_window_set_buffers_timestamp(a, timestamp);
if (err != OK) {
ALOGE("%s: Error setting timestamp on native window: %s (%d)",
@@ -1052,7 +1054,6 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w,
}
stream->mActiveBuffers--;
- stream->mFrameCount++;
stream->mLastTimestamp = timestamp;
return OK;
}