[{"id":18681,"web_url":"https://patchwork.libcamera.org/comment/18681/","msgid":"<20210810134752.wgf66wupldrqn6aq@uno.localdomain>","date":"2021-08-10T13:47:52","subject":"Re: [libcamera-devel] [PATCH v2 06/11] libcamera: pipeline: rkisp1:\n\tMigrate to Camera::Private","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent\n\nsame nit below :)\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\nOn Thu, Aug 05, 2021 at 08:58:43PM +0300, Laurent Pinchart wrote:\n> As part of the effort to remove the CameraData class, migrate the\n> pipeline handler-specific camera data from CameraData to the\n> Camera::Private class.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> ---\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 28 ++++++++++++------------\n>  1 file changed, 14 insertions(+), 14 deletions(-)\n>\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index cc279ce733ef..eab892785fb0 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -77,12 +77,12 @@ private:\n>  \tstd::map<unsigned int, RkISP1FrameInfo *> frameInfo_;\n>  };\n>\n> -class RkISP1CameraData : public CameraData\n> +class RkISP1CameraData : public Camera::Private\n>  {\n>  public:\n>  \tRkISP1CameraData(PipelineHandler *pipe, RkISP1MainPath *mainPath,\n>  \t\t\t RkISP1SelfPath *selfPath)\n> -\t\t: CameraData(pipe), frame_(0), frameInfo_(pipe),\n> +\t\t: Camera::Private(pipe), frame_(0), frameInfo_(pipe),\n>  \t\t  mainPath_(mainPath), selfPath_(selfPath)\n>  \t{\n>  \t}\n> @@ -152,16 +152,15 @@ public:\n>  \tbool match(DeviceEnumerator *enumerator) override;\n>\n>  private:\n> -\tRkISP1CameraData *cameraData(const Camera *camera)\n> +\tRkISP1CameraData *cameraData(Camera *camera)\n>  \t{\n> -\t\treturn static_cast<RkISP1CameraData *>(\n> -\t\t\tPipelineHandler::cameraData(camera));\n> +\t\treturn static_cast<RkISP1CameraData *>(camera->_d());\n>  \t}\n>\n>  \tfriend RkISP1CameraData;\n>  \tfriend RkISP1Frames;\n>\n> -\tint initLinks(const Camera *camera, const CameraSensor *sensor,\n> +\tint initLinks(Camera *camera, const CameraSensor *sensor,\n>  \t\t      const RkISP1CameraConfiguration &config);\n>  \tint createCamera(MediaEntity *sensor);\n>  \tvoid tryCompleteRequest(Request *request);\n> @@ -307,7 +306,7 @@ RkISP1FrameInfo *RkISP1Frames::find(Request *request)\n>\n>  int RkISP1CameraData::loadIPA(unsigned int hwRevision)\n>  {\n> -\tipa_ = IPAManager::createIPA<ipa::rkisp1::IPAProxyRkISP1>(pipe_, 1, 1);\n> +\tipa_ = IPAManager::createIPA<ipa::rkisp1::IPAProxyRkISP1>(pipe(), 1, 1);\n>  \tif (!ipa_)\n>  \t\treturn -ENOENT;\n>\n> @@ -333,7 +332,8 @@ void RkISP1CameraData::queueFrameAction(unsigned int frame,\n>  \t\tbreak;\n>  \t}\n>  \tcase ipa::rkisp1::ActionParamFilled: {\n> -\t\tPipelineHandlerRkISP1 *pipe = static_cast<PipelineHandlerRkISP1 *>(pipe_);\n> +\t\tPipelineHandlerRkISP1 *pipe =\n> +\t\t\tstatic_cast<PipelineHandlerRkISP1 *>(this->pipe());\n>  \t\tRkISP1FrameInfo *info = frameInfo_.find(frame);\n>  \t\tif (!info)\n>  \t\t\tbreak;\n> @@ -361,7 +361,7 @@ void RkISP1CameraData::queueFrameAction(unsigned int frame,\n>  void RkISP1CameraData::metadataReady(unsigned int frame, const ControlList &metadata)\n>  {\n>  \tPipelineHandlerRkISP1 *pipe =\n> -\t\tstatic_cast<PipelineHandlerRkISP1 *>(pipe_);\n> +\t\tstatic_cast<PipelineHandlerRkISP1 *>(this->pipe());\n>\n>  \tRkISP1FrameInfo *info = frameInfo_.find(frame);\n>  \tif (!info)\n> @@ -847,7 +847,7 @@ void PipelineHandlerRkISP1::stop(Camera *camera)\n>  \t\tLOG(RkISP1, Warning)\n>  \t\t\t<< \"Failed to stop parameters for \" << camera->id();\n>\n> -\tASSERT(camera->_d()->queuedRequests_.empty());\n> +\tASSERT(data->queuedRequests_.empty());\n>  \tdata->frameInfo_.clear();\n>\n>  \tfreeBuffers(camera);\n> @@ -879,7 +879,7 @@ int PipelineHandlerRkISP1::queueRequestDevice(Camera *camera, Request *request)\n>   * Match and Setup\n>   */\n>\n> -int PipelineHandlerRkISP1::initLinks(const Camera *camera,\n> +int PipelineHandlerRkISP1::initLinks(Camera *camera,\n>  \t\t\t\t     const CameraSensor *sensor,\n>  \t\t\t\t     const RkISP1CameraConfiguration &config)\n>  {\n> @@ -970,10 +970,10 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)\n>  \t\t&data->mainPathStream_,\n>  \t\t&data->selfPathStream_,\n>  \t};\n> +\tconst std::string &id = data->sensor_->id();\n>  \tstd::shared_ptr<Camera> camera =\n> -\t\tCamera::create(new Camera::Private(this), data->sensor_->id(),\n> -\t\t\t       streams);\n> -\tregisterCamera(std::move(camera), std::move(data));\n> +\t\tCamera::create(data.release(), id, streams);\n> +\tregisterCamera(std::move(camera), nullptr);\n>\n>  \treturn 0;\n>  }\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","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 91673C3240\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 10 Aug 2021 13:47:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5D52268822;\n\tTue, 10 Aug 2021 15:47:06 +0200 (CEST)","from relay12.mail.gandi.net (relay12.mail.gandi.net\n\t[217.70.178.232])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 66F93687F0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 10 Aug 2021 15:47:04 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay12.mail.gandi.net (Postfix) with ESMTPSA id 082EF200004;\n\tTue, 10 Aug 2021 13:47:03 +0000 (UTC)"],"Date":"Tue, 10 Aug 2021 15:47:52 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210810134752.wgf66wupldrqn6aq@uno.localdomain>","References":"<20210805175848.24188-1-laurent.pinchart@ideasonboard.com>\n\t<20210805175848.24188-7-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20210805175848.24188-7-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 06/11] libcamera: pipeline: rkisp1:\n\tMigrate to Camera::Private","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@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]