summaryrefslogtreecommitdiff
path: root/camera/device/3.5/default/CameraDeviceSession.cpp
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2019-02-26 14:31:26 -0800
committerYin-Chia Yeh <yinchiayeh@google.com>2019-03-05 15:29:39 -0800
commit0388c2bc1c7e6b0eb55682a4091c495b5577ba18 (patch)
tree9ef33f04873e0f415a8f038937d19845bdb33a75 /camera/device/3.5/default/CameraDeviceSession.cpp
parent22ab6f2febfc39f26d1b2866a064a5189c69bdb2 (diff)
Camera: fill in num_output_buffers
And also assert fence import should never fail. Test: none Bug: 125472550 Change-Id: Ib9bcc0234108ed0c752d5245d75fca6972e0c8ed
Diffstat (limited to 'camera/device/3.5/default/CameraDeviceSession.cpp')
-rw-r--r--camera/device/3.5/default/CameraDeviceSession.cpp25
1 files changed, 9 insertions, 16 deletions
diff --git a/camera/device/3.5/default/CameraDeviceSession.cpp b/camera/device/3.5/default/CameraDeviceSession.cpp
index bea1be6d53..e812e50f5f 100644
--- a/camera/device/3.5/default/CameraDeviceSession.cpp
+++ b/camera/device/3.5/default/CameraDeviceSession.cpp
@@ -273,6 +273,7 @@ camera3_buffer_request_status_t CameraDeviceSession::requestStreamBuffers(
int streamId = bufRets[i].streamId;
const hidl_vec<StreamBuffer>& hBufs = bufRets[i].val.buffers();
camera3_stream_buffer_t* outBufs = returned_buf_reqs[i].output_buffers;
+ returned_buf_reqs[i].num_output_buffers = hBufs.size();
for (size_t b = 0; b < hBufs.size(); b++) {
const StreamBuffer& hBuf = hBufs[b];
camera3_stream_buffer_t& outBuf = outBufs[b];
@@ -281,27 +282,19 @@ camera3_buffer_request_status_t CameraDeviceSession::requestStreamBuffers(
hBuf.bufferId, hBuf.buffer.getNativeHandle(),
/*out*/&(outBuf.buffer),
/*allowEmptyBuf*/false);
- if (s != Status::OK) {
- ALOGE("%s: import stream %d bufferId %" PRIu64 " failed!",
- __FUNCTION__, streamId, hBuf.bufferId);
- cleanupInflightBufferFences(importedFences, importedBuffers);
- // Buffer import should never fail - restart HAL since something is very
- // wrong.
- assert(false);
- return CAMERA3_BUF_REQ_FAILED_UNKNOWN;
- }
+ // Buffer import should never fail - restart HAL since something is very wrong.
+ LOG_ALWAYS_FATAL_IF(s != Status::OK,
+ "%s: import stream %d bufferId %" PRIu64 " failed!",
+ __FUNCTION__, streamId, hBuf.bufferId);
pushBufferId(*(outBuf.buffer), hBuf.bufferId, streamId);
importedBuffers.push_back(std::make_pair(*(outBuf.buffer), streamId));
- if (!sHandleImporter.importFence(
- hBuf.acquireFence,
- outBuf.acquire_fence)) {
- ALOGE("%s: stream %d bufferId %" PRIu64 "acquire fence is invalid",
+ bool succ = sHandleImporter.importFence(hBuf.acquireFence, outBuf.acquire_fence);
+ // Fence import should never fail - restart HAL since something is very wrong.
+ LOG_ALWAYS_FATAL_IF(!succ,
+ "%s: stream %d bufferId %" PRIu64 "acquire fence is invalid",
__FUNCTION__, streamId, hBuf.bufferId);
- cleanupInflightBufferFences(importedFences, importedBuffers);
- return CAMERA3_BUF_REQ_FAILED_UNKNOWN;
- }
importedFences.push_back(outBuf.acquire_fence);
outBuf.stream = returned_buf_reqs[i].stream;
outBuf.status = CAMERA3_BUFFER_STATUS_OK;