diff --git a/camera/device/3.6/default/ExternalCameraDeviceSession.cpp b/camera/device/3.6/default/ExternalCameraDeviceSession.cpp index 60a1a1019c..8fd8e5897b 100644 --- a/camera/device/3.6/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/3.6/default/ExternalCameraDeviceSession.cpp @@ -272,16 +272,17 @@ Status ExternalCameraDeviceSession::switchToOffline(const hidl_vec& off // convert hal requests to offline request std::deque> offlineReqs(halReqs.size()); + size_t i = 0; for (auto& v4lReq : halReqs) { - std::shared_ptr halReq = std::make_shared(); - halReq->frameNumber = v4lReq->frameNumber; - halReq->setting = v4lReq->setting; - halReq->shutterTs = v4lReq->shutterTs; - halReq->buffers = v4lReq->buffers; + offlineReqs[i] = std::make_shared(); + offlineReqs[i]->frameNumber = v4lReq->frameNumber; + offlineReqs[i]->setting = v4lReq->setting; + offlineReqs[i]->shutterTs = v4lReq->shutterTs; + offlineReqs[i]->buffers = v4lReq->buffers; sp v4l2Frame = static_cast(v4lReq->frameIn.get()); - halReq->frameIn = new AllocatedV4L2Frame(v4l2Frame); - offlineReqs.push_back(halReq); + offlineReqs[i]->frameIn = new AllocatedV4L2Frame(v4l2Frame); + i++; // enqueue V4L2 frame enqueueV4l2Frame(v4l2Frame); }