[libcamera-devel] [PATCH v4 08/15] android: camera_device: use member style on Camera3RequestDescriptor
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Oct 21 17:50:35 CEST 2020
Hi Kieran,
Thank you for the patch.
On Wed, Oct 21, 2020 at 04:41:41PM +0100, Kieran Bingham wrote:
> Use the postfixed '_' member variable naming style for the
> Camera3RequestDescriptor structure, which in turn ensures that variable
> shadowing does not occur on the constructor.
s/on the constructor/in the member initializer list of the constructor/
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/android/camera_device.cpp | 56 +++++++++++++++++------------------
> src/android/camera_device.h | 10 +++----
> 2 files changed, 33 insertions(+), 33 deletions(-)
>
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 5272b9ecded7..9cf1c98410f9 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -170,28 +170,28 @@ MappedCamera3Buffer::MappedCamera3Buffer(const buffer_handle_t camera3buffer,
>
> CameraDevice::Camera3RequestDescriptor::Camera3RequestDescriptor(
> Camera *camera, unsigned int frameNumber, unsigned int numBuffers)
> - : frameNumber(frameNumber), numBuffers(numBuffers)
> + : frameNumber_(frameNumber), numBuffers_(numBuffers)
> {
> - buffers = new camera3_stream_buffer_t[numBuffers];
> + buffers_ = new camera3_stream_buffer_t[numBuffers];
>
> /*
> * FrameBuffer instances created by wrapping a camera3 provided dmabuf
> * are emplaced in this vector of unique_ptr<> for lifetime management.
> */
> - frameBuffers.reserve(numBuffers);
> + frameBuffers_.reserve(numBuffers);
>
> /*
> * Create the libcamera::Request unique_ptr<> to tie its lifetime
> * to the descriptor's one. Set the descriptor's address as the
> * request's cookie to retrieve it at completion time.
> */
> - request = std::make_unique<CaptureRequest>(camera,
> - reinterpret_cast<uint64_t>(this));
> + request_ = std::make_unique<CaptureRequest>(camera,
> + reinterpret_cast<uint64_t>(this));
> }
>
> CameraDevice::Camera3RequestDescriptor::~Camera3RequestDescriptor()
> {
> - delete[] buffers;
> + delete[] buffers_;
> }
>
> /*
> @@ -1393,8 +1393,8 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
> camera3Request->num_output_buffers);
>
> LOG(HAL, Debug) << "Queueing Request to libcamera with "
> - << descriptor->numBuffers << " HAL streams";
> - for (unsigned int i = 0; i < descriptor->numBuffers; ++i) {
> + << descriptor->numBuffers_ << " HAL streams";
> + for (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {
> camera3_stream *camera3Stream = camera3Buffers[i].stream;
> CameraStream *cameraStream =
> static_cast<CameraStream *>(camera3Buffers[i].stream->priv);
> @@ -1403,8 +1403,8 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
> * Keep track of which stream the request belongs to and store
> * the native buffer handles.
> */
> - descriptor->buffers[i].stream = camera3Buffers[i].stream;
> - descriptor->buffers[i].buffer = camera3Buffers[i].buffer;
> + descriptor->buffers_[i].stream = camera3Buffers[i].stream;
> + descriptor->buffers_[i].buffer = camera3Buffers[i].buffer;
>
> std::stringstream ss;
> ss << i << " - (" << camera3Stream->width << "x"
> @@ -1435,7 +1435,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
> * lifetime management only.
> */
> buffer = createFrameBuffer(*camera3Buffers[i].buffer);
> - descriptor->frameBuffers.emplace_back(buffer);
> + descriptor->frameBuffers_.emplace_back(buffer);
> LOG(HAL, Debug) << ss.str() << " (direct)";
> break;
>
> @@ -1458,12 +1458,12 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
> return -ENOMEM;
> }
>
> - descriptor->request->addBuffer(cameraStream->stream(), buffer,
> - camera3Buffers[i].acquire_fence);
> + descriptor->request_->addBuffer(cameraStream->stream(), buffer,
> + camera3Buffers[i].acquire_fence);
> }
>
> /* Queue the request to the CameraWorker. */
> - worker_.queueRequest(descriptor->request.get());
> + worker_.queueRequest(descriptor->request_.get());
>
> return 0;
> }
> @@ -1489,13 +1489,13 @@ void CameraDevice::requestComplete(Request *request)
> * pipeline handlers) timestamp in the Request itself.
> */
> FrameBuffer *buffer = buffers.begin()->second;
> - resultMetadata = getResultMetadata(descriptor->frameNumber,
> + resultMetadata = getResultMetadata(descriptor->frameNumber_,
> buffer->metadata().timestamp);
>
> /* Handle any JPEG compression. */
> - for (unsigned int i = 0; i < descriptor->numBuffers; ++i) {
> + for (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {
> CameraStream *cameraStream =
> - static_cast<CameraStream *>(descriptor->buffers[i].stream->priv);
> + static_cast<CameraStream *>(descriptor->buffers_[i].stream->priv);
>
> if (cameraStream->camera3Stream().format != HAL_PIXEL_FORMAT_BLOB)
> continue;
> @@ -1511,7 +1511,7 @@ void CameraDevice::requestComplete(Request *request)
> * separate thread.
> */
>
> - MappedCamera3Buffer mapped(*descriptor->buffers[i].buffer,
> + MappedCamera3Buffer mapped(*descriptor->buffers_[i].buffer,
> PROT_READ | PROT_WRITE);
> if (!mapped.isValid()) {
> LOG(HAL, Error) << "Failed to mmap android blob buffer";
> @@ -1535,19 +1535,19 @@ void CameraDevice::requestComplete(Request *request)
>
> /* Prepare to call back the Android camera stack. */
> camera3_capture_result_t captureResult = {};
> - captureResult.frame_number = descriptor->frameNumber;
> - captureResult.num_output_buffers = descriptor->numBuffers;
> - for (unsigned int i = 0; i < descriptor->numBuffers; ++i) {
> - descriptor->buffers[i].acquire_fence = -1;
> - descriptor->buffers[i].release_fence = -1;
> - descriptor->buffers[i].status = status;
> + captureResult.frame_number = descriptor->frameNumber_;
> + captureResult.num_output_buffers = descriptor->numBuffers_;
> + for (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {
> + descriptor->buffers_[i].acquire_fence = -1;
> + descriptor->buffers_[i].release_fence = -1;
> + descriptor->buffers_[i].status = status;
> }
> captureResult.output_buffers =
> - const_cast<const camera3_stream_buffer_t *>(descriptor->buffers);
> + const_cast<const camera3_stream_buffer_t *>(descriptor->buffers_);
>
>
> if (status == CAMERA3_BUFFER_STATUS_OK) {
> - notifyShutter(descriptor->frameNumber,
> + notifyShutter(descriptor->frameNumber_,
> buffer->metadata().timestamp);
>
> captureResult.partial_result = 1;
> @@ -1561,8 +1561,8 @@ void CameraDevice::requestComplete(Request *request)
> * is here signalled. Make sure the error path plays well with
> * the camera stack state machine.
> */
> - notifyError(descriptor->frameNumber,
> - descriptor->buffers[0].stream);
> + notifyError(descriptor->frameNumber_,
> + descriptor->buffers_[0].stream);
> }
>
> callbacks_->process_capture_result(callbacks_, &captureResult);
> diff --git a/src/android/camera_device.h b/src/android/camera_device.h
> index 86f2b8974b53..fd08738a5351 100644
> --- a/src/android/camera_device.h
> +++ b/src/android/camera_device.h
> @@ -79,11 +79,11 @@ private:
> unsigned int numBuffers);
> ~Camera3RequestDescriptor();
>
> - uint32_t frameNumber;
> - uint32_t numBuffers;
> - camera3_stream_buffer_t *buffers;
> - std::vector<std::unique_ptr<libcamera::FrameBuffer>> frameBuffers;
> - std::unique_ptr<CaptureRequest> request;
> + uint32_t frameNumber_;
> + uint32_t numBuffers_;
> + camera3_stream_buffer_t *buffers_;
> + std::vector<std::unique_ptr<libcamera::FrameBuffer>> frameBuffers_;
> + std::unique_ptr<CaptureRequest> request_;
> };
>
> struct Camera3StreamConfiguration {
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list