diff options
author | Jamie Gennis <jgennis@google.com> | 2012-06-13 16:29:51 -0700 |
---|---|---|
committer | Jesse Hall <jessehall@google.com> | 2012-06-21 16:54:43 -0700 |
commit | 1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b (patch) | |
tree | 75bbec756f6a14bdcbd0d8100a2af5ca25d95074 /services/camera/libcameraservice/Camera2Device.cpp | |
parent | 95e6e6efcac831874b3d08947d1751d8f65503f9 (diff) | |
download | frameworks_av-1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b.zip frameworks_av-1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b.tar.gz frameworks_av-1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b.tar.bz2 |
Update ANativeWindow client code for sync
This change updates all the uses of ANativeWindow to use the new ANW functions
that accept and return Sync HAL fence file descriptors.
Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
Diffstat (limited to 'services/camera/libcameraservice/Camera2Device.cpp')
-rw-r--r-- | services/camera/libcameraservice/Camera2Device.cpp | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/services/camera/libcameraservice/Camera2Device.cpp b/services/camera/libcameraservice/Camera2Device.cpp index 5a37c8d..8d07eee 100644 --- a/services/camera/libcameraservice/Camera2Device.cpp +++ b/services/camera/libcameraservice/Camera2Device.cpp @@ -758,7 +758,7 @@ status_t Camera2Device::StreamAdapter::connectToDevice( ANativeWindowBuffer **anwBuffers = new ANativeWindowBuffer*[mTotalBuffers]; uint32_t bufferIdx = 0; for (; bufferIdx < mTotalBuffers; bufferIdx++) { - res = mConsumerInterface->dequeueBuffer(mConsumerInterface.get(), + res = native_window_dequeue_buffer_and_wait(mConsumerInterface.get(), &anwBuffers[bufferIdx]); if (res != OK) { ALOGE("%s: Unable to dequeue buffer %d for initial registration for" @@ -766,15 +766,6 @@ status_t Camera2Device::StreamAdapter::connectToDevice( goto cleanUpBuffers; } - res = mConsumerInterface->lockBuffer(mConsumerInterface.get(), - anwBuffers[bufferIdx]); - if (res != OK) { - ALOGE("%s: Unable to lock buffer %d for initial registration for" - "stream %d", __FUNCTION__, bufferIdx, mId); - bufferIdx++; - goto cleanUpBuffers; - } - buffers[bufferIdx] = anwBuffers[bufferIdx]->handle; } @@ -792,7 +783,7 @@ status_t Camera2Device::StreamAdapter::connectToDevice( cleanUpBuffers: for (uint32_t i = 0; i < bufferIdx; i++) { res = mConsumerInterface->cancelBuffer(mConsumerInterface.get(), - anwBuffers[i]); + anwBuffers[i], -1); if (res != OK) { ALOGE("%s: Unable to cancel buffer %d after registration", __FUNCTION__, i); @@ -878,9 +869,7 @@ int Camera2Device::StreamAdapter::dequeue_buffer(const camera2_stream_ops_t *w, ANativeWindow *a = toANW(w); ANativeWindowBuffer* anb; - res = a->dequeueBuffer(a, &anb); - if (res != OK) return res; - res = a->lockBuffer(a, anb); + res = native_window_dequeue_buffer_and_wait(a, &anb); if (res != OK) return res; *buffer = &(anb->handle); @@ -911,7 +900,7 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w, return err; } err = a->queueBuffer(a, - container_of(buffer, ANativeWindowBuffer, handle)); + container_of(buffer, ANativeWindowBuffer, handle), -1); if (err != OK) { ALOGE("%s: Error queueing buffer to native window: %s (%d)", __FUNCTION__, strerror(-err), err); @@ -933,7 +922,7 @@ int Camera2Device::StreamAdapter::cancel_buffer(const camera2_stream_ops_t* w, stream->mActiveBuffers--; ANativeWindow *a = toANW(w); return a->cancelBuffer(a, - container_of(buffer, ANativeWindowBuffer, handle)); + container_of(buffer, ANativeWindowBuffer, handle), -1); } int Camera2Device::StreamAdapter::set_crop(const camera2_stream_ops_t* w, |