[{"id":13364,"web_url":"https://patchwork.libcamera.org/comment/13364/","msgid":"<20201021155035.GC3942@pendragon.ideasonboard.com>","date":"2020-10-21T15:50:35","subject":"Re: [libcamera-devel] [PATCH v4 08/15] android: camera_device: use\n\tmember style on Camera3RequestDescriptor","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Wed, Oct 21, 2020 at 04:41:41PM +0100, Kieran Bingham wrote:\n> Use the postfixed '_' member variable naming style for the\n> Camera3RequestDescriptor structure, which in turn ensures that variable\n> shadowing does not occur on the constructor.\n\ns/on the constructor/in the member initializer list of the constructor/\n\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/android/camera_device.cpp | 56 +++++++++++++++++------------------\n>  src/android/camera_device.h   | 10 +++----\n>  2 files changed, 33 insertions(+), 33 deletions(-)\n> \n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index 5272b9ecded7..9cf1c98410f9 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -170,28 +170,28 @@ MappedCamera3Buffer::MappedCamera3Buffer(const buffer_handle_t camera3buffer,\n>  \n>  CameraDevice::Camera3RequestDescriptor::Camera3RequestDescriptor(\n>  \tCamera *camera, unsigned int frameNumber, unsigned int numBuffers)\n> -\t: frameNumber(frameNumber), numBuffers(numBuffers)\n> +\t: frameNumber_(frameNumber), numBuffers_(numBuffers)\n>  {\n> -\tbuffers = new camera3_stream_buffer_t[numBuffers];\n> +\tbuffers_ = new camera3_stream_buffer_t[numBuffers];\n>  \n>  \t/*\n>  \t * FrameBuffer instances created by wrapping a camera3 provided dmabuf\n>  \t * are emplaced in this vector of unique_ptr<> for lifetime management.\n>  \t */\n> -\tframeBuffers.reserve(numBuffers);\n> +\tframeBuffers_.reserve(numBuffers);\n>  \n>  \t/*\n>  \t * Create the libcamera::Request unique_ptr<> to tie its lifetime\n>  \t * to the descriptor's one. Set the descriptor's address as the\n>  \t * request's cookie to retrieve it at completion time.\n>  \t */\n> -\trequest = std::make_unique<CaptureRequest>(camera,\n> -\t\t\t\t\t\t   reinterpret_cast<uint64_t>(this));\n> +\trequest_ = std::make_unique<CaptureRequest>(camera,\n> +\t\t\t\t\t\t    reinterpret_cast<uint64_t>(this));\n>  }\n>  \n>  CameraDevice::Camera3RequestDescriptor::~Camera3RequestDescriptor()\n>  {\n> -\tdelete[] buffers;\n> +\tdelete[] buffers_;\n>  }\n>  \n>  /*\n> @@ -1393,8 +1393,8 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n>  \t\t\t\t\t     camera3Request->num_output_buffers);\n>  \n>  \tLOG(HAL, Debug) << \"Queueing Request to libcamera with \"\n> -\t\t\t<< descriptor->numBuffers << \" HAL streams\";\n> -\tfor (unsigned int i = 0; i < descriptor->numBuffers; ++i) {\n> +\t\t\t<< descriptor->numBuffers_ << \" HAL streams\";\n> +\tfor (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {\n>  \t\tcamera3_stream *camera3Stream = camera3Buffers[i].stream;\n>  \t\tCameraStream *cameraStream =\n>  \t\t\tstatic_cast<CameraStream *>(camera3Buffers[i].stream->priv);\n> @@ -1403,8 +1403,8 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n>  \t\t * Keep track of which stream the request belongs to and store\n>  \t\t * the native buffer handles.\n>  \t\t */\n> -\t\tdescriptor->buffers[i].stream = camera3Buffers[i].stream;\n> -\t\tdescriptor->buffers[i].buffer = camera3Buffers[i].buffer;\n> +\t\tdescriptor->buffers_[i].stream = camera3Buffers[i].stream;\n> +\t\tdescriptor->buffers_[i].buffer = camera3Buffers[i].buffer;\n>  \n>  \t\tstd::stringstream ss;\n>  \t\tss << i << \" - (\" << camera3Stream->width << \"x\"\n> @@ -1435,7 +1435,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n>  \t\t\t * lifetime management only.\n>  \t\t\t */\n>  \t\t\tbuffer = createFrameBuffer(*camera3Buffers[i].buffer);\n> -\t\t\tdescriptor->frameBuffers.emplace_back(buffer);\n> +\t\t\tdescriptor->frameBuffers_.emplace_back(buffer);\n>  \t\t\tLOG(HAL, Debug) << ss.str() << \" (direct)\";\n>  \t\t\tbreak;\n>  \n> @@ -1458,12 +1458,12 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n>  \t\t\treturn -ENOMEM;\n>  \t\t}\n>  \n> -\t\tdescriptor->request->addBuffer(cameraStream->stream(), buffer,\n> -\t\t\t\t\t       camera3Buffers[i].acquire_fence);\n> +\t\tdescriptor->request_->addBuffer(cameraStream->stream(), buffer,\n> +\t\t\t\t\t\tcamera3Buffers[i].acquire_fence);\n>  \t}\n>  \n>  \t/* Queue the request to the CameraWorker. */\n> -\tworker_.queueRequest(descriptor->request.get());\n> +\tworker_.queueRequest(descriptor->request_.get());\n>  \n>  \treturn 0;\n>  }\n> @@ -1489,13 +1489,13 @@ void CameraDevice::requestComplete(Request *request)\n>  \t * pipeline handlers) timestamp in the Request itself.\n>  \t */\n>  \tFrameBuffer *buffer = buffers.begin()->second;\n> -\tresultMetadata = getResultMetadata(descriptor->frameNumber,\n> +\tresultMetadata = getResultMetadata(descriptor->frameNumber_,\n>  \t\t\t\t\t   buffer->metadata().timestamp);\n>  \n>  \t/* Handle any JPEG compression. */\n> -\tfor (unsigned int i = 0; i < descriptor->numBuffers; ++i) {\n> +\tfor (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {\n>  \t\tCameraStream *cameraStream =\n> -\t\t\tstatic_cast<CameraStream *>(descriptor->buffers[i].stream->priv);\n> +\t\t\tstatic_cast<CameraStream *>(descriptor->buffers_[i].stream->priv);\n>  \n>  \t\tif (cameraStream->camera3Stream().format != HAL_PIXEL_FORMAT_BLOB)\n>  \t\t\tcontinue;\n> @@ -1511,7 +1511,7 @@ void CameraDevice::requestComplete(Request *request)\n>  \t\t * separate thread.\n>  \t\t */\n>  \n> -\t\tMappedCamera3Buffer mapped(*descriptor->buffers[i].buffer,\n> +\t\tMappedCamera3Buffer mapped(*descriptor->buffers_[i].buffer,\n>  \t\t\t\t\t   PROT_READ | PROT_WRITE);\n>  \t\tif (!mapped.isValid()) {\n>  \t\t\tLOG(HAL, Error) << \"Failed to mmap android blob buffer\";\n> @@ -1535,19 +1535,19 @@ void CameraDevice::requestComplete(Request *request)\n>  \n>  \t/* Prepare to call back the Android camera stack. */\n>  \tcamera3_capture_result_t captureResult = {};\n> -\tcaptureResult.frame_number = descriptor->frameNumber;\n> -\tcaptureResult.num_output_buffers = descriptor->numBuffers;\n> -\tfor (unsigned int i = 0; i < descriptor->numBuffers; ++i) {\n> -\t\tdescriptor->buffers[i].acquire_fence = -1;\n> -\t\tdescriptor->buffers[i].release_fence = -1;\n> -\t\tdescriptor->buffers[i].status = status;\n> +\tcaptureResult.frame_number = descriptor->frameNumber_;\n> +\tcaptureResult.num_output_buffers = descriptor->numBuffers_;\n> +\tfor (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {\n> +\t\tdescriptor->buffers_[i].acquire_fence = -1;\n> +\t\tdescriptor->buffers_[i].release_fence = -1;\n> +\t\tdescriptor->buffers_[i].status = status;\n>  \t}\n>  \tcaptureResult.output_buffers =\n> -\t\tconst_cast<const camera3_stream_buffer_t *>(descriptor->buffers);\n> +\t\tconst_cast<const camera3_stream_buffer_t *>(descriptor->buffers_);\n>  \n>  \n>  \tif (status == CAMERA3_BUFFER_STATUS_OK) {\n> -\t\tnotifyShutter(descriptor->frameNumber,\n> +\t\tnotifyShutter(descriptor->frameNumber_,\n>  \t\t\t      buffer->metadata().timestamp);\n>  \n>  \t\tcaptureResult.partial_result = 1;\n> @@ -1561,8 +1561,8 @@ void CameraDevice::requestComplete(Request *request)\n>  \t\t * is here signalled. Make sure the error path plays well with\n>  \t\t * the camera stack state machine.\n>  \t\t */\n> -\t\tnotifyError(descriptor->frameNumber,\n> -\t\t\t    descriptor->buffers[0].stream);\n> +\t\tnotifyError(descriptor->frameNumber_,\n> +\t\t\t    descriptor->buffers_[0].stream);\n>  \t}\n>  \n>  \tcallbacks_->process_capture_result(callbacks_, &captureResult);\n> diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> index 86f2b8974b53..fd08738a5351 100644\n> --- a/src/android/camera_device.h\n> +++ b/src/android/camera_device.h\n> @@ -79,11 +79,11 @@ private:\n>  \t\t\t\t\t unsigned int numBuffers);\n>  \t\t~Camera3RequestDescriptor();\n>  \n> -\t\tuint32_t frameNumber;\n> -\t\tuint32_t numBuffers;\n> -\t\tcamera3_stream_buffer_t *buffers;\n> -\t\tstd::vector<std::unique_ptr<libcamera::FrameBuffer>> frameBuffers;\n> -\t\tstd::unique_ptr<CaptureRequest> request;\n> +\t\tuint32_t frameNumber_;\n> +\t\tuint32_t numBuffers_;\n> +\t\tcamera3_stream_buffer_t *buffers_;\n> +\t\tstd::vector<std::unique_ptr<libcamera::FrameBuffer>> frameBuffers_;\n> +\t\tstd::unique_ptr<CaptureRequest> request_;\n>  \t};\n>  \n>  \tstruct Camera3StreamConfiguration {","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A9AACBDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Oct 2020 15:51:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3ADBA60BE7;\n\tWed, 21 Oct 2020 17:51:22 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B540E60986\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Oct 2020 17:51:20 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3FA9292;\n\tWed, 21 Oct 2020 17:51:20 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"VJcMeWNv\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1603295480;\n\tbh=GZ/JlWkmDeW455RdNrDMHyKA3LbyexcyOJyBDSnDqlA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=VJcMeWNv4+y7+AymeO1Ex79h6kkOKSF33/SF/WxH56cOlEYG5SLhGBPRXVY5Hsi/c\n\tydXpD8jv44ypFcGta2eeFk4aDdKSUvRvPlIUoctBI9Whce5zS65KaNT3krg9fwZsKj\n\t5XsDTNwknaTbAC/zD1h2YgcOKbKlaiO2k8XSWuZI=","Date":"Wed, 21 Oct 2020 18:50:35 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201021155035.GC3942@pendragon.ideasonboard.com>","References":"<20201021154148.511505-1-kieran.bingham@ideasonboard.com>\n\t<20201021154148.511505-9-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201021154148.511505-9-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v4 08/15] android: camera_device: use\n\tmember style on Camera3RequestDescriptor","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]