diff options
author | Umang Jain <umang.jain@ideasonboard.com> | 2021-10-28 22:32:54 +0530 |
---|---|---|
committer | Umang Jain <umang.jain@ideasonboard.com> | 2021-11-08 17:34:45 +0530 |
commit | 1b30992b623e15f6be9ea9f425d14dfa6c372c8d (patch) | |
tree | c0c5ff021860919eccbf229bb51fe615c3a371e6 /src/android/camera_request.cpp | |
parent | 701266653c7a4b5cb0213e6a6003f0aea0401f6b (diff) |
android: Camera3RequestDescriptor: Provide a constructor for StreamBuffer
Provide a constructor for StreamBuffer and use that while populating
Camera3RequestDescriptor::buffers_ vector. Also provide the default
move-constructor (required as StreamBuffer is stored in a vector in
Camera3RequestDescriptor) and destructor for the StreamBuffer struct.
Also declare a default move assignment operator and disable the
copy constructor and move operator explicitly with
LIBCAMERA_DISABLE_COPY().
While at it, initialize pointers members in the StreamBuffer struct
to nullptr, with StreamBuffer::status set to Status::Success by default.
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/android/camera_request.cpp')
-rw-r--r-- | src/android/camera_request.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/android/camera_request.cpp b/src/android/camera_request.cpp index 5bac1b8f..8162aa78 100644 --- a/src/android/camera_request.cpp +++ b/src/android/camera_request.cpp @@ -37,9 +37,7 @@ Camera3RequestDescriptor::Camera3RequestDescriptor( CameraStream *stream = static_cast<CameraStream *>(buffer.stream->priv); - buffers_.push_back({ stream, buffer.buffer, nullptr, - buffer.acquire_fence, Status::Success, - nullptr, nullptr, nullptr, this }); + buffers_.emplace_back(stream, buffer, this); } /* Clone the controls associated with the camera3 request. */ @@ -54,3 +52,18 @@ Camera3RequestDescriptor::Camera3RequestDescriptor( } Camera3RequestDescriptor::~Camera3RequestDescriptor() = default; + +Camera3RequestDescriptor::StreamBuffer::StreamBuffer( + CameraStream *cameraStream, const camera3_stream_buffer_t &buffer, + Camera3RequestDescriptor *requestDescriptor) + : stream(cameraStream), camera3Buffer(buffer.buffer), + fence(buffer.acquire_fence), request(requestDescriptor) +{ +} + +Camera3RequestDescriptor::StreamBuffer::~StreamBuffer() = default; + +Camera3RequestDescriptor::StreamBuffer::StreamBuffer(StreamBuffer &&) = default; + +Camera3RequestDescriptor::StreamBuffer & +Camera3RequestDescriptor::StreamBuffer::operator=(Camera3RequestDescriptor::StreamBuffer &&) = default; |