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>
This commit is contained in:
Umang Jain 2021-10-28 22:32:54 +05:30
parent 701266653c
commit 1b30992b62
2 changed files with 30 additions and 6 deletions

View file

@ -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;