[{"id":12738,"web_url":"https://patchwork.libcamera.org/comment/12738/","msgid":"<b3d9beae-a831-f1f0-0d04-ab6eb11f90d7@ideasonboard.com>","date":"2020-09-24T14:41:13","subject":"Re: [libcamera-devel] [PATCH 1/2] simple-cam: Early return if no\n\tcameras found on the system","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 24/09/2020 15:18, Umang Jain wrote:\n> Early return if no cameras are found on the system.\n> Failing to do so, the codepath will segfault while trying to\n> acquire a non-existent camera.\n> \n\nAh, yes this sounds like a reasonably good idea to have here.\n\n> Signed-off-by: Umang Jain <email@uajain.com>\n> ---\n>  simple-cam.cpp | 7 +++++++\n>  1 file changed, 7 insertions(+)\n> \n> diff --git a/simple-cam.cpp b/simple-cam.cpp\n> index 3aa975e..d51000c 100644\n> --- a/simple-cam.cpp\n> +++ b/simple-cam.cpp\n> @@ -95,6 +95,13 @@ int main()\n>  \tCameraManager *cm = new CameraManager();\n>  \tcm->start();\n>  \n> +\tif(!cm->cameras().size()) {\n> +\t\tstd::cout << \"Please connect atleast one camera to the system.\"\n\ns/atleast/at least/\n\nThough I'd probably simply say \"No cameras were identified on the\nsystem\", as it might not always be feasible to 'add' a camera, and it\nmight also be that the cameras are connected, but actually libcamera\nmight not have the required pipelines enabled.\n\nSo as the action to take is ambiguous, I'd leave it out and just state\nthe facts.\n\nOtherwise,\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> +\t\t\t  << std::endl;\n> +\t\tcm->stop();\n> +\t\treturn -1;\n> +\t}\n> +\n>  \t/*\n>  \t * Just as a test, list all id's of the Camera registered in the\n>  \t * system. They are indexed by name by the CameraManager.\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 015B3C3B5B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 24 Sep 2020 14:41:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BF58862FE3;\n\tThu, 24 Sep 2020 16:41:18 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0220660363\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 24 Sep 2020 16:41:18 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 83DDE2FD;\n\tThu, 24 Sep 2020 16:41:17 +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=\"Hpq2rOai\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1600958477;\n\tbh=CCzGBQ7VRbf2ElcOfkSpzoUEq/eWt1/I/CXKGnhA954=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=Hpq2rOaiJuoWlfMn0oAhIdzmf9ekesd43VSWeRcX65zaixBK1RgofX3JElOlojH9G\n\txBU3H4JU28ZaLYR517/LxzBH+n7bv6ufHBufIZTKxxO/2JVj87NFjso2oBaym0SRuG\n\tQBrvkN1eFKecGQJIKSsaTfw7K3Fp6N1h0dh3JGQE=","To":"Umang Jain <email@uajain.com>, libcamera-devel@lists.libcamera.org","References":"<20200924141803.76422-1-email@uajain.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<b3d9beae-a831-f1f0-0d04-ab6eb11f90d7@ideasonboard.com>","Date":"Thu, 24 Sep 2020 15:41:13 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20200924141803.76422-1-email@uajain.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH 1/2] simple-cam: Early return if no\n\tcameras found on the system","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>","Reply-To":"kieran.bingham@ideasonboard.com","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":12753,"web_url":"https://patchwork.libcamera.org/comment/12753/","msgid":"<375f8e0c-e507-4afd-63fa-d11fe3d93125@uajain.com>","date":"2020-09-24T18:38:19","subject":"Re: [libcamera-devel] [PATCH 1/2] simple-cam: Early return if no\n\tcameras found on the system","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Kieran\n\nOn 9/24/20 8:11 PM, Kieran Bingham wrote:\n> Hi Umang,\n>\n> On 24/09/2020 15:18, Umang Jain wrote:\n>> Early return if no cameras are found on the system.\n>> Failing to do so, the codepath will segfault while trying to\n>> acquire a non-existent camera.\n>>\n> Ah, yes this sounds like a reasonably good idea to have here.\nGreat. I thought it was an overkill initially, but sent the patch anyway.\n>> Signed-off-by: Umang Jain <email@uajain.com>\n>> ---\n>>   simple-cam.cpp | 7 +++++++\n>>   1 file changed, 7 insertions(+)\n>>\n>> diff --git a/simple-cam.cpp b/simple-cam.cpp\n>> index 3aa975e..d51000c 100644\n>> --- a/simple-cam.cpp\n>> +++ b/simple-cam.cpp\n>> @@ -95,6 +95,13 @@ int main()\n>>   \tCameraManager *cm = new CameraManager();\n>>   \tcm->start();\n>>   \n>> +\tif(!cm->cameras().size()) {\n>> +\t\tstd::cout << \"Please connect atleast one camera to the system.\"\n> s/atleast/at least/\n>\n> Though I'd probably simply say \"No cameras were identified on the\n> system\", as it might not always be feasible to 'add' a camera, and it\n> might also be that the cameras are connected, but actually libcamera\n> might not have the required pipelines enabled.\n>\n> So as the action to take is ambiguous, I'd leave it out and just state\n> the facts.\nAh, indeed. I didn't put a lot of thought in writing the log message.\n>\n> Otherwise,\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n>> +\t\t\t  << std::endl;\n>> +\t\tcm->stop();\n>> +\t\treturn -1;\n>> +\t}\n>> +\n>>   \t/*\n>>   \t * Just as a test, list all id's of the Camera registered in the\n>>   \t * system. They are indexed by name by the CameraManager.\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 F2628C3B5C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 24 Sep 2020 18:38:24 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BBA6F62FF8;\n\tThu, 24 Sep 2020 20:38:24 +0200 (CEST)","from mail.uajain.com (static.126.159.217.95.clients.your-server.de\n\t[95.217.159.126])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EDF2162F4F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 24 Sep 2020 20:38:22 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=uajain.com header.i=@uajain.com\n\theader.b=\"QG9uo1rr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=uajain.com; s=mail;\n\tt=1600972702; bh=uurq6J4fYCbLUiOhz3slYEHuFADdzN9RtajgaAcMLnk=;\n\th=Subject:To:References:From:In-Reply-To;\n\tb=QG9uo1rrVZDvZ4HfKereO+fItwqDmAWqL56lMDQ5qf81lqrJ0uKd7Vvj1gC3NBwVQ\n\tFRxMMEVvOISFHfhxjbvkRV6SmDXydD5k+6MV4sMJCMUrIeu2jADUzBT8RhhTajCzvN\n\t5lSoCVraZUd2Pc/u7bjEmAPh73xSj9WBxyWCeLDWOWcgm+l7fCdJRMhusPe0fNPBYK\n\tOuPRqS/ZPykPtnRLfYTc/Ahr58FhaXrdosNQ6uNUkzUqviRagHIYBifu8PU5g/CMRc\n\tVecqTVYMRaRExW0qOmupJugoBAG4pYxqSA7H1blTI+Pv363f+dsnz7GIhYsXBaLlu8\n\tJxJae6tbMv+/w==","To":"kieran.bingham@ideasonboard.com, libcamera-devel@lists.libcamera.org","References":"<20200924141803.76422-1-email@uajain.com>\n\t<b3d9beae-a831-f1f0-0d04-ab6eb11f90d7@ideasonboard.com>","From":"Umang Jain <email@uajain.com>","Message-ID":"<375f8e0c-e507-4afd-63fa-d11fe3d93125@uajain.com>","Date":"Fri, 25 Sep 2020 00:08:19 +0530","Mime-Version":"1.0","In-Reply-To":"<b3d9beae-a831-f1f0-0d04-ab6eb11f90d7@ideasonboard.com>","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 1/2] simple-cam: Early return if no\n\tcameras found on the system","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-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]