diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index 8ee70efba5..3958d5bb21 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -3918,18 +3918,17 @@ status_t Camera3Device::HalInterface::processBatchCaptureRequests( } hardware::details::return_status err; - if (hidlSession_3_4 != nullptr) { - err = hidlSession_3_4->processCaptureRequest_3_4(captureRequests_3_4, cachesToRemove, - [&status, &numRequestProcessed] (auto s, uint32_t n) { + auto resultCallback = + [&status, &numRequestProcessed] (auto s, uint32_t n) { status = s; *numRequestProcessed = n; - }); + }; + if (hidlSession_3_4 != nullptr) { + err = hidlSession_3_4->processCaptureRequest_3_4(captureRequests_3_4, cachesToRemove, + resultCallback); } else { err = mHidlSession->processCaptureRequest(captureRequests, cachesToRemove, - [&status, &numRequestProcessed] (auto s, uint32_t n) { - status = s; - *numRequestProcessed = n; - }); + resultCallback); } if (!err.isOk()) { ALOGE("%s: Transaction error: %s", __FUNCTION__, err.description().c_str());