[{"id":24581,"web_url":"https://patchwork.libcamera.org/comment/24581/","msgid":"<CAHbe+E1c4nTxBzngYvY9ngLdOAXKUgnmG1ScZBuu9ZG_o_mj-g@mail.gmail.com>","date":"2022-08-15T16:43:49","subject":"Re: [libcamera-devel] [PATCH v8 4/8] qcam: CamSelectDialog: Display\n\tLocation and Model propety of camera","submitter":{"id":114,"url":"https://patchwork.libcamera.org/api/people/114/","name":"Utkarsh Tiwari","email":"utkarsh02t@gmail.com"},"content":"On Wed, Aug 10, 2022 at 8:34 PM Utkarsh Tiwari <utkarsh02t@gmail.com> wrote:\n\n> The camera selection dialog currently only displays the camera Id.\n> Display the camera location and camera model if available.\n>\n> Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> Difference from v7:\n>         1. Nothing\n>  src/qcam/cam_select_dialog.cpp | 52 ++++++++++++++++++++++++++++++++++\n>  src/qcam/cam_select_dialog.h   | 10 +++++++\n>  2 files changed, 62 insertions(+)\n>\n> diff --git a/src/qcam/cam_select_dialog.cpp\n> b/src/qcam/cam_select_dialog.cpp\n> index d8982800..f97ad6eb 100644\n> --- a/src/qcam/cam_select_dialog.cpp\n> +++ b/src/qcam/cam_select_dialog.cpp\n> @@ -7,6 +7,7 @@\n>\n>  #include \"cam_select_dialog.h\"\n>\n> +#include <memory>\n>  #include <string>\n>\n>  #include <libcamera/camera.h>\n> @@ -30,6 +31,14 @@\n> CameraSelectorDialog::CameraSelectorDialog(libcamera::CameraManager\n> *cameraManag\n>         for (const auto &cam : cm_->cameras())\n>\n> cameraIdComboBox_->addItem(QString::fromStdString(cam->id()));\n>\n> +       /* Set camera information labels. */\n> +       cameraLocation_ = new QLabel;\n> +       cameraModel_ = new QLabel;\n> +\n> +       handleCameraChange();\n> +       connect(cameraIdComboBox_, &QComboBox::currentTextChanged,\n> +               this, &CameraSelectorDialog::handleCameraChange);\n> +\n>         /* Setup the QDialogButton Box */\n>         QDialogButtonBox *buttonBox =\n>                 new QDialogButtonBox(QDialogButtonBox::Ok |\n> @@ -41,7 +50,10 @@\n> CameraSelectorDialog::CameraSelectorDialog(libcamera::CameraManager\n> *cameraManag\n>                 this, &QDialog::reject);\n>\n>         /* Set the layout. */\n> +\n>         layout->addRow(\"Camera:\", cameraIdComboBox_);\n> +       layout->addRow(\"Location:\", cameraLocation_);\n> +       layout->addRow(\"Model:\", cameraModel_);\n>         layout->addWidget(buttonBox);\n>  }\n>\n> @@ -63,3 +75,43 @@ void\n> CameraSelectorDialog::cameraRemoved(libcamera::Camera *camera)\n>\n>         cameraIdComboBox_->removeItem(cameraIndex);\n>  }\n> +\n> +/* Camera Information */\n> +void CameraSelectorDialog::handleCameraChange()\n> +{\n> +       updateCamInfo(cm_->get(getCameraId()));\n> +}\n>\n\nThis function can be  removed and we can shift the cm_->get(getCameraId())\nin the updateCamInfo\nitself.\n\n> +\n> +void CameraSelectorDialog::updateCamInfo(const\n> std::shared_ptr<libcamera::Camera> &camera)\n> +{\n> +       if (!camera)\n> +               return;\n> +\n> +       const libcamera::ControlList &cameraProperties =\n> camera->properties();\n> +\n> +       const auto &location =\n> +               cameraProperties.get(libcamera::properties::Location);\n> +       if (location) {\n> +               switch (*location) {\n> +               case libcamera::properties::CameraLocationFront:\n> +                       cameraLocation_->setText(\"Internal front camera\");\n> +                       break;\n> +               case libcamera::properties::CameraLocationBack:\n> +                       cameraLocation_->setText(\"Internal back camera\");\n> +                       break;\n> +               case libcamera::properties::CameraLocationExternal:\n> +                       cameraLocation_->setText(\"External camera\");\n> +                       break;\n> +               default:\n> +                       cameraLocation_->setText(\"Unknown\");\n> +               }\n> +       } else {\n> +               cameraLocation_->setText(\"Unknown\");\n> +       }\n> +\n> +       const auto &model = cameraProperties\n> +                                   .get(libcamera::properties::Model)\n> +                                   .value_or(\"Unknown\");\n> +\n> +       cameraModel_->setText(QString::fromStdString(model));\n> +}\n> diff --git a/src/qcam/cam_select_dialog.h b/src/qcam/cam_select_dialog.h\n> index 04c71fd8..16475af6 100644\n> --- a/src/qcam/cam_select_dialog.h\n> +++ b/src/qcam/cam_select_dialog.h\n> @@ -11,9 +11,12 @@\n>\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n> +#include <libcamera/controls.h>\n> +#include <libcamera/property_ids.h>\n>\n>  #include <QComboBox>\n>  #include <QDialog>\n> +#include <QLabel>\n>\n>  class CameraSelectorDialog : public QDialog\n>  {\n> @@ -30,9 +33,16 @@ public:\n>         void cameraAdded(libcamera::Camera *camera);\n>\n>         void cameraRemoved(libcamera::Camera *camera);\n> +\n> +       /* Camera Information */\n> +       void updateCamInfo(const std::shared_ptr<libcamera::Camera>\n> &camera);\n> +       void handleCameraChange();\n> +\n>  private:\n>         libcamera::CameraManager *cm_;\n>\n>         /* UI elements. */\n>         QComboBox *cameraIdComboBox_;\n> +       QLabel *cameraLocation_;\n> +       QLabel *cameraModel_;\n>  };\n> --\n> 2.25.1\n>\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 8A1DDC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 15 Aug 2022 16:44:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EC91461FC0;\n\tMon, 15 Aug 2022 18:44:04 +0200 (CEST)","from mail-pf1-x430.google.com (mail-pf1-x430.google.com\n\t[IPv6:2607:f8b0:4864:20::430])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E288F61FB9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Aug 2022 18:44:02 +0200 (CEST)","by mail-pf1-x430.google.com with SMTP id q19so7048147pfg.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Aug 2022 09:44:02 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1660581845;\n\tbh=Zt00/+34qKPdS5+uxyq1oYviHJsxL3dwuF6fmMRNqpA=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=B4dd55KYrNa/aVflpvUABzF9ZBwtfPbsk9bbCBQbV2/GZXlKyNmwom9TON+Wx7y9u\n\tqJlsA+lGZ7DSCBB+bgNo2+qG03IFq72Mna4ievWNKfYIizI+RaLXygR/EylsHFjRk3\n\tGZ2b2DUVn0guW/BHVt0S9trWac7HPH83vUk46ZJ6WFPH06kc9ZRPYeehSo5a6oL27h\n\t6y6g5Zo02R2eOvFwcvFGpRsjGYUeJQQN46H7AQ15HWxbcbxk1s2BcTicSF6TMrOun4\n\tWysfAn6Lo2w94y9Jo7yXoYjTRA3ip5LGw0rQsL3NBYr/7Ti6D1PeVhIJ8Q4Y3R0lz0\n\t3lJefRlv8ibbg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc;\n\tbh=E1KOsd7v/YcjfksJ7/ivK085V61z/pfdpeR0DG+rb9w=;\n\tb=nLIEWi11Vluh11I++R+CFEnFuIBdfR0aIGVSBRbar6WNQHI+RUiyv1SLpS3K5krNUM\n\tzEsaV/cg1AIXEOWYYv9X8odRv8GJgzNE/hzil5vbxnYs5ksA3OMYyuwqM7wBJTyDk/YJ\n\tQG0zYjWJDmYwTgedPwd2VWUUe+U1hGOBKd4WPQhvlzcQpPds/ylk7shCzB1ipsuVcr5e\n\t/YWtMbyn42sl79IWI0KgEqCIpJclAbsT9CCj6lAI53V6XmlWeB9PydqfaMcvaM0m6xpn\n\t24Qrg75tf4/Bkn3NLmAvlwo9xZnj3EVd7kHzoTKCtcNIMN96oitgq9fwstqYizmmNv/g\n\tiQmw=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"nLIEWi11\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc;\n\tbh=E1KOsd7v/YcjfksJ7/ivK085V61z/pfdpeR0DG+rb9w=;\n\tb=RNfULhZaTYqVse41e2FxdwTY2O4T5TwRmhjthfUtK1KbFmWz9pLXCb+EC2SGWrHeCK\n\ts7qtr6EWaq7bE2DGU1diNIVrFwP3t+Qyot+i/2w6DPLv1rTZvSNDxqjriXqCOssCqcq2\n\t9sDg0RGGtNRaRO81SFmnm0ORJPFl5fzaTSaF+4UlCx+T8/M4vBXvkZiQ+eN/TStt4C52\n\t7GcwfQBqnsS6GtzuDpJ4So2X0BDj1qC7HaXQVAdeVrhglxyFV86e8b/YoTFQlVUrDoCE\n\t/UfQYd9VC9hO0iUb8F8vr8NuFuaMveG4TCnU0DV5+NYc7Qd3+WZgQ4/RMJL3qy3NNM/p\n\tfVkw==","X-Gm-Message-State":"ACgBeo0zPLeMsO+sKRsm5JnqPc9EPwcQUjH2FpELtILoX1pRStQTPKmx\n\tyTkbR9IYsQHq10P/rtlcHsxaGt8+Ke7+Kwbrki4+UO3Z5d8=","X-Google-Smtp-Source":"AA6agR6mvrL7/rNzi4TJpo4aUQWGAPh4nmYj4zg72WcqCUMZNQ2y5buNPW+hdGsPS1eNs2mLD2mhLOJQ/IZvwDDtabw=","X-Received":"by 2002:a05:6a00:1581:b0:52f:332d:9c98 with SMTP id\n\tu1-20020a056a00158100b0052f332d9c98mr17515352pfk.64.1660581840859;\n\tMon, 15 Aug 2022 09:44:00 -0700 (PDT)","MIME-Version":"1.0","References":"<20220810150349.414043-1-utkarsh02t@gmail.com>\n\t<20220810150349.414043-5-utkarsh02t@gmail.com>","In-Reply-To":"<20220810150349.414043-5-utkarsh02t@gmail.com>","Date":"Mon, 15 Aug 2022 22:13:49 +0530","Message-ID":"<CAHbe+E1c4nTxBzngYvY9ngLdOAXKUgnmG1ScZBuu9ZG_o_mj-g@mail.gmail.com>","To":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"000000000000beb75f05e64a56eb\"","Subject":"Re: [libcamera-devel] [PATCH v8 4/8] qcam: CamSelectDialog: Display\n\tLocation and Model propety of camera","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>","From":"Utkarsh Tiwari via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Utkarsh Tiwari <utkarsh02t@gmail.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24741,"web_url":"https://patchwork.libcamera.org/comment/24741/","msgid":"<YwQ24j9m4GKQ11eZ@pendragon.ideasonboard.com>","date":"2022-08-23T02:09:38","subject":"Re: [libcamera-devel] [PATCH v8 4/8] qcam: CamSelectDialog: Display\n\tLocation and Model propety of camera","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Utkarsh,\n\nThank you for the patch.\n\nOn Mon, Aug 15, 2022 at 10:13:49PM +0530, Utkarsh Tiwari via libcamera-devel wrote:\n> On Wed, Aug 10, 2022 at 8:34 PM Utkarsh Tiwari <utkarsh02t@gmail.com> wrote:\n> \n> > The camera selection dialog currently only displays the camera Id.\n> > Display the camera location and camera model if available.\n> >\n> > Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com>\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > ---\n> > Difference from v7:\n> >         1. Nothing\n> >  src/qcam/cam_select_dialog.cpp | 52 ++++++++++++++++++++++++++++++++++\n> >  src/qcam/cam_select_dialog.h   | 10 +++++++\n> >  2 files changed, 62 insertions(+)\n> >\n> > diff --git a/src/qcam/cam_select_dialog.cpp\n> > b/src/qcam/cam_select_dialog.cpp\n> > index d8982800..f97ad6eb 100644\n> > --- a/src/qcam/cam_select_dialog.cpp\n> > +++ b/src/qcam/cam_select_dialog.cpp\n> > @@ -7,6 +7,7 @@\n> >\n> >  #include \"cam_select_dialog.h\"\n> >\n> > +#include <memory>\n> >  #include <string>\n> >\n> >  #include <libcamera/camera.h>\n> > @@ -30,6 +31,14 @@ CameraSelectorDialog::CameraSelectorDialog(libcamera::CameraManager *cameraManag\n> >         for (const auto &cam : cm_->cameras())\n> > \t\tcameraIdComboBox_->addItem(QString::fromStdString(cam->id()));\n> >\n> > +       /* Set camera information labels. */\n> > +       cameraLocation_ = new QLabel;\n> > +       cameraModel_ = new QLabel;\n> > +\n> > +       handleCameraChange();\n> > +       connect(cameraIdComboBox_, &QComboBox::currentTextChanged,\n> > +               this, &CameraSelectorDialog::handleCameraChange);\n> > +\n> >         /* Setup the QDialogButton Box */\n> >         QDialogButtonBox *buttonBox =\n> >                 new QDialogButtonBox(QDialogButtonBox::Ok |\n> > @@ -41,7 +50,10 @@ CameraSelectorDialog::CameraSelectorDialog(libcamera::CameraManager *cameraManag\n> >                 this, &QDialog::reject);\n> >\n> >         /* Set the layout. */\n> > +\n\nNo need for a blank line.\n\n> >         layout->addRow(\"Camera:\", cameraIdComboBox_);\n> > +       layout->addRow(\"Location:\", cameraLocation_);\n> > +       layout->addRow(\"Model:\", cameraModel_);\n> >         layout->addWidget(buttonBox);\n> >  }\n> >\n> > @@ -63,3 +75,43 @@ void CameraSelectorDialog::cameraRemoved(libcamera::Camera *camera)\n> >\n> >         cameraIdComboBox_->removeItem(cameraIndex);\n> >  }\n> > +\n> > +/* Camera Information */\n> > +void CameraSelectorDialog::handleCameraChange()\n> > +{\n> > +       updateCamInfo(cm_->get(getCameraId()));\n> > +}\n> \n> This function can be  removed and we can shift the cm_->get(getCameraId())\n> in the updateCamInfo\n> itself.\n\nIndeed.\n\n> > +void CameraSelectorDialog::updateCamInfo(const std::shared_ptr<libcamera::Camera> &camera)\n> > +{\n> > +       if (!camera)\n> > +               return;\n> > +\n> > +       const libcamera::ControlList &cameraProperties = camera->properties();\n\nYou can call the variable just 'properties', that will shorten lines\nbelow.\n\n> > +\n> > +       const auto &location =\n> > +               cameraProperties.get(libcamera::properties::Location);\n> > +       if (location) {\n> > +               switch (*location) {\n> > +               case libcamera::properties::CameraLocationFront:\n> > +                       cameraLocation_->setText(\"Internal front camera\");\n> > +                       break;\n> > +               case libcamera::properties::CameraLocationBack:\n> > +                       cameraLocation_->setText(\"Internal back camera\");\n> > +                       break;\n> > +               case libcamera::properties::CameraLocationExternal:\n> > +                       cameraLocation_->setText(\"External camera\");\n> > +                       break;\n> > +               default:\n> > +                       cameraLocation_->setText(\"Unknown\");\n> > +               }\n> > +       } else {\n> > +               cameraLocation_->setText(\"Unknown\");\n> > +       }\n> > +\n> > +       const auto &model = cameraProperties\n> > +                                   .get(libcamera::properties::Model)\n> > +                                   .value_or(\"Unknown\");\n> > +\n> > +       cameraModel_->setText(QString::fromStdString(model));\n> > +}\n> > diff --git a/src/qcam/cam_select_dialog.h b/src/qcam/cam_select_dialog.h\n> > index 04c71fd8..16475af6 100644\n> > --- a/src/qcam/cam_select_dialog.h\n> > +++ b/src/qcam/cam_select_dialog.h\n> > @@ -11,9 +11,12 @@\n> >\n> >  #include <libcamera/camera.h>\n> >  #include <libcamera/camera_manager.h>\n> > +#include <libcamera/controls.h>\n> > +#include <libcamera/property_ids.h>\n> >\n> >  #include <QComboBox>\n> >  #include <QDialog>\n> > +#include <QLabel>\n\nQLabel can be forward-declared.\n\n> >\n> >  class CameraSelectorDialog : public QDialog\n> >  {\n> > @@ -30,9 +33,16 @@ public:\n> >         void cameraAdded(libcamera::Camera *camera);\n> >\n> >         void cameraRemoved(libcamera::Camera *camera);\n> > +\n> > +       /* Camera Information */\n> > +       void updateCamInfo(const std::shared_ptr<libcamera::Camera> &camera);\n\nYou should include <memory>, but the best would probably be to pass a\nnormal pointer to the camera to this function, calling camera.get() in\nthe caller.\n\n> > +       void handleCameraChange();\n> > +\n> >  private:\n> >         libcamera::CameraManager *cm_;\n> >\n> >         /* UI elements. */\n> >         QComboBox *cameraIdComboBox_;\n> > +       QLabel *cameraLocation_;\n> > +       QLabel *cameraModel_;\n> >  };\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 959C9C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Aug 2022 02:09:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0667B61FC0;\n\tTue, 23 Aug 2022 04:09:44 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8414160E25\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Aug 2022 04:09:42 +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 E8E8D2B3;\n\tTue, 23 Aug 2022 04:09:41 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661220584;\n\tbh=1sKbwBNfNfBmEar+jTinSNSQJ/U/bXzK0XhUMxjAwho=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=iP8TvAFw/HrDM6wfS89MKkW+zQ1rvr7Cg451oTB5Hrq9waLkemDF+NErzp1Wmjhot\n\t7KQudXgmxzKv/s8Ty0aTWqXM5lfjb5uc9nOi3Keo7NCR+KQxBAn+0gsXDdk2WfZzRl\n\tWJxGCg9ZUI6U9x4SEfhu5ZJD14QBSJioAAqcA0NdBR5kfKRD/cBhHkSl03NeBroyzc\n\tddI2LI+21svjYdxPVd4OAQBIWCxbfvVd7Nh4mxvmRDh5BAvK3GzKL9NyAXUmkVmDCt\n\tvM6YKXg2n9b40boMyNVS7Wj5HUEjALsXh+rG6Rq+pkgFdfc5GTRsbllB7AMSj5YdCT\n\tDYhLgJu8JDMlw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1661220582;\n\tbh=1sKbwBNfNfBmEar+jTinSNSQJ/U/bXzK0XhUMxjAwho=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=I5ncdPRCpokCDdETXYeOLJQGS7XLV6s5wbiG6i01ez5gI+AF/ikuXsn893OhpVA1K\n\tG7kLIfL3Pa5/ALzB+pe6tLSaW0qC4c2XICtsPARcFExTrrxGLpscGFLeA7lP1wo8QR\n\tYwKJLp/YSbDuonOeDw0qoCMhE+k2/Yk7v8VrmyW8="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"I5ncdPRC\"; dkim-atps=neutral","Date":"Tue, 23 Aug 2022 05:09:38 +0300","To":"Utkarsh Tiwari <utkarsh02t@gmail.com>","Message-ID":"<YwQ24j9m4GKQ11eZ@pendragon.ideasonboard.com>","References":"<20220810150349.414043-1-utkarsh02t@gmail.com>\n\t<20220810150349.414043-5-utkarsh02t@gmail.com>\n\t<CAHbe+E1c4nTxBzngYvY9ngLdOAXKUgnmG1ScZBuu9ZG_o_mj-g@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAHbe+E1c4nTxBzngYvY9ngLdOAXKUgnmG1ScZBuu9ZG_o_mj-g@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH v8 4/8] qcam: CamSelectDialog: Display\n\tLocation and Model propety of camera","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]