From 36aa827f70fa4634740e67b40ea58abd27c29441 Mon Sep 17 00:00:00 2001 From: Emilian Peev Date: Wed, 26 Feb 2020 16:31:47 -0800 Subject: [PATCH] Camera: Avoid adding uninitialized hal requests The offline requests deque is constructed with specific amount of entries. Initialize the the already allocated entries before pushing new ones. Bug: 149346795 Test: Camera CTS Change-Id: I6db8d48949caf753429702b60c48698c95ecf4ad --- .../3.6/default/ExternalCameraDeviceSession.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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); }