diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2012-08-13 12:16:06 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2012-08-20 16:08:00 -0700 |
commit | 228a53805808a24cb19fcf13b1f0bdc2ed89bbe1 (patch) | |
tree | 96b41c80d1080b83e286d450daf161782fe66627 /services/camera/libcameraservice/Camera2Device.cpp | |
parent | 3cc89794d92b833feff15ca76dfa196cc886e43f (diff) | |
download | frameworks_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.cpp | 7 |
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; } |