diff options
author | Yin-Chia Yeh <yinchiayeh@google.com> | 2019-03-14 14:21:01 -0700 |
---|---|---|
committer | Yin-Chia Yeh <yinchiayeh@google.com> | 2019-03-14 14:21:01 -0700 |
commit | 965d9dd8216d15479172b901202f3152bc22b13d (patch) | |
tree | 2e6feda6ed7c9d21534ce0832010325534b6ccf8 /camera/device/3.4/default/ExternalCameraDeviceSession.cpp | |
parent | eed0040e216d58bdaaa2daaa40eab29b0eabeaa8 (diff) |
Camera: cleanup external camera HAL fence FD logic
Treat all non-negative integers as valid FD.
Test: webcam smoke test
Bug: N/A
Change-Id: I5fd52c0d195d2d4b63d70d66f10bd2a3ea99985c
Diffstat (limited to 'camera/device/3.4/default/ExternalCameraDeviceSession.cpp')
-rw-r--r-- | camera/device/3.4/default/ExternalCameraDeviceSession.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp index 32da9681bf..dc5579ac67 100644 --- a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp @@ -853,7 +853,7 @@ Status ExternalCameraDeviceSession::processCaptureResult(std::shared_ptr<HalRequ result.outputBuffers[i].bufferId = req->buffers[i].bufferId; if (req->buffers[i].fenceTimeout) { result.outputBuffers[i].status = BufferStatus::ERROR; - if (req->buffers[i].acquireFence > 0) { + if (req->buffers[i].acquireFence >= 0) { native_handle_t* handle = native_handle_create(/*numFds*/1, /*numInts*/0); handle->data[0] = req->buffers[i].acquireFence; result.outputBuffers[i].releaseFence.setTo(handle, /*shouldOwn*/false); @@ -862,7 +862,7 @@ Status ExternalCameraDeviceSession::processCaptureResult(std::shared_ptr<HalRequ } else { result.outputBuffers[i].status = BufferStatus::OK; // TODO: refactor - if (req->buffers[i].acquireFence > 0) { + if (req->buffers[i].acquireFence >= 0) { native_handle_t* handle = native_handle_create(/*numFds*/1, /*numInts*/0); handle->data[0] = req->buffers[i].acquireFence; result.outputBuffers[i].releaseFence.setTo(handle, /*shouldOwn*/false); @@ -1778,7 +1778,7 @@ int ExternalCameraDeviceSession::OutputThread::createJpegLocked( /* Unlock the HAL jpeg code buffer */ int relFence = sHandleImporter.unlock(*(halBuf.bufPtr)); - if (relFence > 0) { + if (relFence >= 0) { halBuf.acquireFence = relFence; } @@ -1882,7 +1882,7 @@ bool ExternalCameraDeviceSession::OutputThread::threadLoop() { if (*(halBuf.bufPtr) == nullptr) { ALOGW("%s: buffer for stream %d missing", __FUNCTION__, halBuf.streamId); halBuf.fenceTimeout = true; - } else if (halBuf.acquireFence != -1) { + } else if (halBuf.acquireFence >= 0) { int ret = sync_wait(halBuf.acquireFence, kSyncWaitTimeoutMs); if (ret) { halBuf.fenceTimeout = true; @@ -1957,7 +1957,7 @@ bool ExternalCameraDeviceSession::OutputThread::threadLoop() { return onDeviceError("%s: format coversion failed!", __FUNCTION__); } int relFence = sHandleImporter.unlock(*(halBuf.bufPtr)); - if (relFence > 0) { + if (relFence >= 0) { halBuf.acquireFence = relFence; } } break; |