diff options
Diffstat (limited to 'camera/provider/aidl/vts/device_cb.cpp')
-rw-r--r-- | camera/provider/aidl/vts/device_cb.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/camera/provider/aidl/vts/device_cb.cpp b/camera/provider/aidl/vts/device_cb.cpp index e5f2f1eae4..4698b4ae89 100644 --- a/camera/provider/aidl/vts/device_cb.cpp +++ b/camera/provider/aidl/vts/device_cb.cpp @@ -155,7 +155,7 @@ ScopedAStatus DeviceCb::requestStreamBuffers(const std::vector<BufferRequest>& b BufferStatus::OK, NativeHandle(), NativeHandle(), }; - mOutstandingBufferIds[idx][mNextBufferId++] = ::android::dupToAidl(handle); + mOutstandingBufferIds[idx][mNextBufferId++] = handle; } atLeastOneStreamOk = true; bufRets[i].streamId = stream.id; @@ -427,9 +427,13 @@ bool DeviceCb::processCaptureResultLocked( } CameraAidlTest::InFlightRequest::StreamBufferAndTimestamp streamBufferAndTimestamp; + auto outstandingBuffers = mUseHalBufManager ? mOutstandingBufferIds : + request->mOutstandingBufferIds; + auto outputBuffer = outstandingBuffers.empty() ? ::android::makeFromAidl(buffer.buffer) : + outstandingBuffers[buffer.streamId][buffer.bufferId]; streamBufferAndTimestamp.buffer = {buffer.streamId, buffer.bufferId, - ::android::makeFromAidl(buffer.buffer), + outputBuffer, buffer.status, ::android::makeFromAidl(buffer.acquireFence), ::android::makeFromAidl(buffer.releaseFence)}; |