[{"id":15810,"web_url":"https://patchwork.libcamera.org/comment/15810/","msgid":"<YFlLl4pUEQo4MVuj@pendragon.ideasonboard.com>","date":"2021-03-23T01:59:51","subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Hiro,\n\nThank you for the patch.\n\nOn Tue, Mar 23, 2021 at 10:42:20AM +0900, Hirokazu Honda wrote:\n> CameraManager is owned by CameraHalManager. The ownership of the\n> object is not shared with other classes. So CameraHalManager\n> should manage CameraManager with std::unique_ptr.\n> \n> Signed-off-by: Hirokazu Honda <hiroh@chromium.org>\n> \n> ---\n>  src/android/camera_hal_manager.cpp | 14 +++-----------\n>  src/android/camera_hal_manager.h   |  2 +-\n>  2 files changed, 4 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\n> index b3c85406..fa398fea 100644\n> --- a/src/android/camera_hal_manager.cpp\n> +++ b/src/android/camera_hal_manager.cpp\n> @@ -34,18 +34,11 @@ CameraHalManager::CameraHalManager()\n>  {\n>  }\n> \n> -CameraHalManager::~CameraHalManager()\n> -{\n> -\tif (cameraManager_) {\n> -\t\tcameraManager_->stop();\n\nShouldn't this line be kept ? Apart from that, the patch looks good to\nme.\n\n> -\t\tdelete cameraManager_;\n> -\t\tcameraManager_ = nullptr;\n> -\t}\n> -}\n> +CameraHalManager::~CameraHalManager() = default;\n> \n>  int CameraHalManager::init()\n>  {\n> -\tcameraManager_ = new CameraManager();\n> +\tcameraManager_ = std::make_unique<CameraManager>();\n> \n>  \t/* Support camera hotplug. */\n>  \tcameraManager_->cameraAdded.connect(this, &CameraHalManager::cameraAdded);\n> @@ -55,8 +48,7 @@ int CameraHalManager::init()\n>  \tif (ret) {\n>  \t\tLOG(HAL, Error) << \"Failed to start camera manager: \"\n>  \t\t\t\t<< strerror(-ret);\n> -\t\tdelete cameraManager_;\n> -\t\tcameraManager_ = nullptr;\n> +\t\tcameraManager_.reset();\n>  \t\treturn ret;\n>  \t}\n> \n> diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h\n> index 65bb3554..dc4e37e5 100644\n> --- a/src/android/camera_hal_manager.h\n> +++ b/src/android/camera_hal_manager.h\n> @@ -47,7 +47,7 @@ private:\n> \n>  \tCameraDevice *cameraDeviceFromHalId(unsigned int id);\n> \n> -\tlibcamera::CameraManager *cameraManager_;\n> +\tstd::unique_ptr<libcamera::CameraManager> cameraManager_;\n> \n>  \tconst camera_module_callbacks_t *callbacks_;\n>  \tstd::vector<std::unique_ptr<CameraDevice>> cameras_;","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 3E961C32E1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Mar 2021 02:00:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AB28968D66;\n\tTue, 23 Mar 2021 03:00:35 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 65AD36051B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Mar 2021 03:00:34 +0100 (CET)","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 D5A40885;\n\tTue, 23 Mar 2021 03:00:33 +0100 (CET)"],"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=\"E2tYepmi\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616464834;\n\tbh=ifxa95SIq18hF1wQw28lZIm/hiAPnzbQq/IWGGTejDI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=E2tYepmiNVI1MWSFMeek9ifv121COcPHK1Wo6yMx0+w4CL2+yvD9Wda53Uh/85na4\n\tbResJJhPdhblMyZ5pDWDDHW+vwCj1zTkKSMk5/4sxr/+0qMhNbY7q0zk0oh9mtuwcN\n\tpF4IJbqyEFO4k9m16Sbia/k52M8oPMJlITHBPLJI=","Date":"Tue, 23 Mar 2021 03:59:51 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hirokazu Honda <hiroh@chromium.org>","Message-ID":"<YFlLl4pUEQo4MVuj@pendragon.ideasonboard.com>","References":"<20210323014226.3211412-1-hiroh@chromium.org>\n\t<20210323014226.3211412-3-hiroh@chromium.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210323014226.3211412-3-hiroh@chromium.org>","Subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","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","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>"}},{"id":15818,"web_url":"https://patchwork.libcamera.org/comment/15818/","msgid":"<CAO5uPHNwqn3t=LGZoxg4nSwKohUMH-_z-VpkOucyOWDHzz7d3Q@mail.gmail.com>","date":"2021-03-23T02:25:45","subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Laurent, thanks for reviewing.\n\nOn Tue, Mar 23, 2021 at 11:00 AM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Hi Hiro,\n>\n> Thank you for the patch.\n>\n> On Tue, Mar 23, 2021 at 10:42:20AM +0900, Hirokazu Honda wrote:\n> > CameraManager is owned by CameraHalManager. The ownership of the\n> > object is not shared with other classes. So CameraHalManager\n> > should manage CameraManager with std::unique_ptr.\n> >\n> > Signed-off-by: Hirokazu Honda <hiroh@chromium.org>\n> >\n> > ---\n> >  src/android/camera_hal_manager.cpp | 14 +++-----------\n> >  src/android/camera_hal_manager.h   |  2 +-\n> >  2 files changed, 4 insertions(+), 12 deletions(-)\n> >\n> > diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\n> > index b3c85406..fa398fea 100644\n> > --- a/src/android/camera_hal_manager.cpp\n> > +++ b/src/android/camera_hal_manager.cpp\n> > @@ -34,18 +34,11 @@ CameraHalManager::CameraHalManager()\n> >  {\n> >  }\n> >\n> > -CameraHalManager::~CameraHalManager()\n> > -{\n> > -     if (cameraManager_) {\n> > -             cameraManager_->stop();\n>\n> Shouldn't this line be kept ? Apart from that, the patch looks good to\n> me.\n\nI removed it because libcamera::CameraManager's dtor calls stop().\n\n-Hiro\n>\n> > -             delete cameraManager_;\n> > -             cameraManager_ = nullptr;\n> > -     }\n> > -}\n> > +CameraHalManager::~CameraHalManager() = default;\n> >\n> >  int CameraHalManager::init()\n> >  {\n> > -     cameraManager_ = new CameraManager();\n> > +     cameraManager_ = std::make_unique<CameraManager>();\n> >\n> >       /* Support camera hotplug. */\n> >       cameraManager_->cameraAdded.connect(this, &CameraHalManager::cameraAdded);\n> > @@ -55,8 +48,7 @@ int CameraHalManager::init()\n> >       if (ret) {\n> >               LOG(HAL, Error) << \"Failed to start camera manager: \"\n> >                               << strerror(-ret);\n> > -             delete cameraManager_;\n> > -             cameraManager_ = nullptr;\n> > +             cameraManager_.reset();\n> >               return ret;\n> >       }\n> >\n> > diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h\n> > index 65bb3554..dc4e37e5 100644\n> > --- a/src/android/camera_hal_manager.h\n> > +++ b/src/android/camera_hal_manager.h\n> > @@ -47,7 +47,7 @@ private:\n> >\n> >       CameraDevice *cameraDeviceFromHalId(unsigned int id);\n> >\n> > -     libcamera::CameraManager *cameraManager_;\n> > +     std::unique_ptr<libcamera::CameraManager> cameraManager_;\n> >\n> >       const camera_module_callbacks_t *callbacks_;\n> >       std::vector<std::unique_ptr<CameraDevice>> cameras_;\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","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 83A63BD80C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Mar 2021 02:25:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 39DB968D6C;\n\tTue, 23 Mar 2021 03:25:56 +0100 (CET)","from mail-ed1-x532.google.com (mail-ed1-x532.google.com\n\t[IPv6:2a00:1450:4864:20::532])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1BFCC6084F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Mar 2021 03:25:55 +0100 (CET)","by mail-ed1-x532.google.com with SMTP id dm8so21721324edb.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 22 Mar 2021 19:25:55 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"JIhvRNcl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=OE2wpnZuyKYupw8pJtlekLjAc3wmtg7y+pNRsrrNWTM=;\n\tb=JIhvRNclqMkemqWwX6dNbP2wx5zlyswU8TVXrUhut/5DvjWbNJ9gAEl09WvrxaA3we\n\tkCPoP8EUk2UqCDFGNR0Ad3ZDJEyYMQVn61ISHpSFQ+e1piM9iFHyZo3x12HqGlQWayie\n\tua4IjstX15YENNqnR90cVKvF4QCv5z7rFVhSE=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=OE2wpnZuyKYupw8pJtlekLjAc3wmtg7y+pNRsrrNWTM=;\n\tb=Dn2iYX4gPBskv8WXae6Sv52hbSYJKvVI291XlDNq1+NHrEZwWf37cmk5qFhVzyZGmt\n\tXB1edyiWsXL8v1+V6zxZXNRRq9FR5KuRtjke2gQuIk8ZyP5Wbn/AxZEL0QloEpubYhy4\n\t3Al1U6sv2vUWpCujaM8HEBv2kqQR/zPDL2xNHOEOHzA6qiJbKXa/JA6YAEhZdOjRguim\n\tI5rAfkq3VprmNIaL+gWTfry/sct4pFQghozsxwcltqTlVedpPxLRYBXQbDhUG2RyXDh4\n\t2F4l/XZbwfYBRpAsvLbeAHoDuEAbXh7vHgE4CAxytk6ou+vBi4XxmOk/KgE2ravdpvN0\n\tJ7LQ==","X-Gm-Message-State":"AOAM530ju5Hft+/CNELFbkrJCIaMmFUT/uTHY+zkc24NNucpU43Xaq+8\n\tleqDa1cZSoeJ4hmEJDKk1BF3kPTpa4idUBUBh6oXLLkk1xs=","X-Google-Smtp-Source":"ABdhPJxhssLY9rZt+wnQn8NeuFVHscCbZG6LCZe6X4Etkp6WVzu0qkHgW0YjJiQLi7Y1IvnjzsMWv2GRhSCrKzUV0k0=","X-Received":"by 2002:aa7:c4cc:: with SMTP id\n\tp12mr2276344edr.325.1616466354786; \n\tMon, 22 Mar 2021 19:25:54 -0700 (PDT)","MIME-Version":"1.0","References":"<20210323014226.3211412-1-hiroh@chromium.org>\n\t<20210323014226.3211412-3-hiroh@chromium.org>\n\t<YFlLl4pUEQo4MVuj@pendragon.ideasonboard.com>","In-Reply-To":"<YFlLl4pUEQo4MVuj@pendragon.ideasonboard.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Tue, 23 Mar 2021 11:25:45 +0900","Message-ID":"<CAO5uPHNwqn3t=LGZoxg4nSwKohUMH-_z-VpkOucyOWDHzz7d3Q@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","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>"}},{"id":15835,"web_url":"https://patchwork.libcamera.org/comment/15835/","msgid":"<YFn1qW1b7CYtHZRT@pendragon.ideasonboard.com>","date":"2021-03-23T14:05:29","subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Hiro,\n\nOn Tue, Mar 23, 2021 at 11:25:45AM +0900, Hirokazu Honda wrote:\n> On Tue, Mar 23, 2021 at 11:00 AM Laurent Pinchart wrote:\n> > On Tue, Mar 23, 2021 at 10:42:20AM +0900, Hirokazu Honda wrote:\n> > > CameraManager is owned by CameraHalManager. The ownership of the\n> > > object is not shared with other classes. So CameraHalManager\n> > > should manage CameraManager with std::unique_ptr.\n> > >\n> > > Signed-off-by: Hirokazu Honda <hiroh@chromium.org>\n> > >\n> > > ---\n> > >  src/android/camera_hal_manager.cpp | 14 +++-----------\n> > >  src/android/camera_hal_manager.h   |  2 +-\n> > >  2 files changed, 4 insertions(+), 12 deletions(-)\n> > >\n> > > diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\n> > > index b3c85406..fa398fea 100644\n> > > --- a/src/android/camera_hal_manager.cpp\n> > > +++ b/src/android/camera_hal_manager.cpp\n> > > @@ -34,18 +34,11 @@ CameraHalManager::CameraHalManager()\n> > >  {\n> > >  }\n> > >\n> > > -CameraHalManager::~CameraHalManager()\n> > > -{\n> > > -     if (cameraManager_) {\n> > > -             cameraManager_->stop();\n> >\n> > Shouldn't this line be kept ? Apart from that, the patch looks good to\n> > me.\n> \n> I removed it because libcamera::CameraManager's dtor calls stop().\n\nIt makes sense. Could you mention this in the commit message though ?\n\n~CameraManager() calling stop() is an implementation detail at this\nmoment, but it makes sense, so I'll send a documentation patch to make\nthis official.\n\n> > > -             delete cameraManager_;\n> > > -             cameraManager_ = nullptr;\n> > > -     }\n> > > -}\n> > > +CameraHalManager::~CameraHalManager() = default;\n> > >\n> > >  int CameraHalManager::init()\n> > >  {\n> > > -     cameraManager_ = new CameraManager();\n> > > +     cameraManager_ = std::make_unique<CameraManager>();\n> > >\n> > >       /* Support camera hotplug. */\n> > >       cameraManager_->cameraAdded.connect(this, &CameraHalManager::cameraAdded);\n> > > @@ -55,8 +48,7 @@ int CameraHalManager::init()\n> > >       if (ret) {\n> > >               LOG(HAL, Error) << \"Failed to start camera manager: \"\n> > >                               << strerror(-ret);\n> > > -             delete cameraManager_;\n> > > -             cameraManager_ = nullptr;\n> > > +             cameraManager_.reset();\n> > >               return ret;\n> > >       }\n> > >\n> > > diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h\n> > > index 65bb3554..dc4e37e5 100644\n> > > --- a/src/android/camera_hal_manager.h\n> > > +++ b/src/android/camera_hal_manager.h\n> > > @@ -47,7 +47,7 @@ private:\n> > >\n> > >       CameraDevice *cameraDeviceFromHalId(unsigned int id);\n> > >\n> > > -     libcamera::CameraManager *cameraManager_;\n> > > +     std::unique_ptr<libcamera::CameraManager> cameraManager_;\n> > >\n> > >       const camera_module_callbacks_t *callbacks_;\n> > >       std::vector<std::unique_ptr<CameraDevice>> cameras_;","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 5C276C32E5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Mar 2021 14:06:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A945468D69;\n\tTue, 23 Mar 2021 15:06:13 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6509E602D7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Mar 2021 15:06:11 +0100 (CET)","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 C707F885;\n\tTue, 23 Mar 2021 15:06:10 +0100 (CET)"],"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=\"TdK1QcAU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1616508371;\n\tbh=ct05Z0cTwnqztsHGrn3pIC0CSln2p9UHEei89mhMXd4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=TdK1QcAUVWEVKsTMoqtxBaA7O6qp4NSS5iBOU8RUaHEAtliPm6Csj8xytSpmoI56A\n\tpmO9XR926oSTsRweC4MjCKO5ruG6DmwcJxeOcAAXY072Nq6YcwHbkf/KkFclr9kH4Q\n\tWft98Fy7tLOg83SZTFl96c61f2gHfOdCnUcZdOs8=","Date":"Tue, 23 Mar 2021 16:05:29 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hirokazu Honda <hiroh@chromium.org>","Message-ID":"<YFn1qW1b7CYtHZRT@pendragon.ideasonboard.com>","References":"<20210323014226.3211412-1-hiroh@chromium.org>\n\t<20210323014226.3211412-3-hiroh@chromium.org>\n\t<YFlLl4pUEQo4MVuj@pendragon.ideasonboard.com>\n\t<CAO5uPHNwqn3t=LGZoxg4nSwKohUMH-_z-VpkOucyOWDHzz7d3Q@mail.gmail.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<CAO5uPHNwqn3t=LGZoxg4nSwKohUMH-_z-VpkOucyOWDHzz7d3Q@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 2/8] android: CameraHalManager: Hold\n\tCameraManager with std::unique_ptr","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>"}}]