{"id":9076,"url":"https://patchwork.libcamera.org/api/patches/9076/?format=json","web_url":"https://patchwork.libcamera.org/patch/9076/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200729115055.3840110-6-niklas.soderlund@ragnatech.se>","date":"2020-07-29T11:50:55","name":"[libcamera-devel,v5,5/5] libcamera: camera_manager: Enforce unique camera names","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"f47c5abb6a18931bd6dee189a54c9eee6aa56817","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"delegate":{"id":16,"url":"https://patchwork.libcamera.org/api/users/16/?format=json","username":"neg","first_name":"Niklas","last_name":"Söderlund","email":"niklas.soderlund@ragnatech.se"},"mbox":"https://patchwork.libcamera.org/patch/9076/mbox/","series":[{"id":1163,"url":"https://patchwork.libcamera.org/api/series/1163/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1163","date":"2020-07-29T11:50:50","name":"libcamera: Generate unique and stable camera names","version":5,"mbox":"https://patchwork.libcamera.org/series/1163/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/9076/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/9076/checks/","tags":{},"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 47C50BD879\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 29 Jul 2020 11:51:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 20AB56196B;\n\tWed, 29 Jul 2020 13:51:09 +0200 (CEST)","from bin-mail-out-06.binero.net (bin-mail-out-06.binero.net\n\t[195.74.38.229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A4B8461A0E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 29 Jul 2020 13:51:05 +0200 (CEST)","from bismarck.berto.se (p4fca2eca.dip0.t-ipconnect.de\n\t[79.202.46.202]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid c835cdcc-d191-11ea-8fb8-005056917f90;\n\tWed, 29 Jul 2020 13:51:05 +0200 (CEST)"],"X-Halon-ID":"c835cdcc-d191-11ea-8fb8-005056917f90","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 29 Jul 2020 13:50:55 +0200","Message-Id":"<20200729115055.3840110-6-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.27.0","In-Reply-To":"<20200729115055.3840110-1-niklas.soderlund@ragnatech.se>","References":"<20200729115055.3840110-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v5 5/5] libcamera: camera_manager: Enforce\n\tunique camera names","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>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The camera name have always been documented that it should be unique but\nit has never been enforced. Change this by refusing to add cameras to\nthe CameraManager that would create two cameras with the exact same\nname.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n* Changes since v4\n- Update string in error message.\n\n* Changes since v3\n- Update commit message.\n---\n src/libcamera/camera_manager.cpp | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)","diff":"diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\nindex f60491d2c1a7500f..47e0f3129d346183 100644\n--- a/src/libcamera/camera_manager.cpp\n+++ b/src/libcamera/camera_manager.cpp\n@@ -178,10 +178,10 @@ void CameraManager::Private::addCamera(std::shared_ptr<Camera> camera,\n \n \tfor (std::shared_ptr<Camera> c : cameras_) {\n \t\tif (c->name() == camera->name()) {\n-\t\t\tLOG(Camera, Warning)\n-\t\t\t\t<< \"Registering camera with duplicate name '\"\n+\t\t\tLOG(Camera, Error)\n+\t\t\t\t<< \"Skip registration of a camera with a duplicated name '\"\n \t\t\t\t<< camera->name() << \"'\";\n-\t\t\tbreak;\n+\t\t\treturn;\n \t\t}\n \t}\n \n","prefixes":["libcamera-devel","v5","5/5"]}