{"id":8634,"url":"https://patchwork.libcamera.org/api/1.1/patches/8634/?format=json","web_url":"https://patchwork.libcamera.org/patch/8634/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20200704133140.1738660-14-paul.elder@ideasonboard.com>","date":"2020-07-04T13:31:31","name":"[libcamera-devel,v3,13/22] libcamera: pipeline_handler: Fatal if registering camera without media devices","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"29c89448f1d248da36a108215da995ef4e8d6ae2","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/1.1/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/8634/mbox/","series":[{"id":1083,"url":"https://patchwork.libcamera.org/api/1.1/series/1083/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1083","date":"2020-07-04T13:31:18","name":"Clean up formats in v4l2-compat and pipeline handlers","version":3,"mbox":"https://patchwork.libcamera.org/series/1083/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/8634/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/8634/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 CD490BD792\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  4 Jul 2020 13:32:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9A41B60E43;\n\tSat,  4 Jul 2020 15:32:22 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EB56660E1D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  4 Jul 2020 15:32:20 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6A9E455B;\n\tSat,  4 Jul 2020 15:32:19 +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=\"Z/Rs0BUF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1593869540;\n\tbh=2IX1hEfkyQPDUCMdsaQMM+1pwJgX+AlnnxcElgKGAC4=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Z/Rs0BUFSgv9JqiL/G0McWdf5xzj+Kb3ZXvVu4N+XX01ObzAvFqgFMVavGLGbI5ct\n\tqkI7xzYLWn70AiYW4rDGCpIL/SsxLKmK9Up95u3IiyoZleDRlEyv6ssxUNFWzW0U5X\n\tF48QuuCEIAt5u/PBAz36BpTniUfue9cmYFILxAek=","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Sat,  4 Jul 2020 22:31:31 +0900","Message-Id":"<20200704133140.1738660-14-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.27.0","In-Reply-To":"<20200704133140.1738660-1-paul.elder@ideasonboard.com>","References":"<20200704133140.1738660-1-paul.elder@ideasonboard.com>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v3 13/22] libcamera: pipeline_handler:\n\tFatal if registering camera without media devices","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=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Pipeline handlers must acquire media devices via\nPipelineHander::acquireMediaDevice so that the media devices can be\nregistered with the pipeline handler, so that they can be automatically\nadded to the devnum map for the v4l2 compatibility layer to use. Die\nfatally if any camera trying to be registered has not acquired any media\ndevices via acquireMediaDevice.\n\nSigned-off-by: Paul Elder <paul.elder@ideasonboard.com>\n\n---\nNo change in v3\n---\n src/libcamera/pipeline_handler.cpp | 4 ++++\n 1 file changed, 4 insertions(+)","diff":"diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\nindex de5ca09..8a6c9c2 100644\n--- a/src/libcamera/pipeline_handler.cpp\n+++ b/src/libcamera/pipeline_handler.cpp\n@@ -496,6 +496,10 @@ void PipelineHandler::registerCamera(std::shared_ptr<Camera> camera,\n \tcameraData_[camera.get()] = std::move(data);\n \tcameras_.push_back(camera);\n \n+\tif (!mediaDevices_.size())\n+\t\tLOG(Pipeline, Fatal)\n+\t\t\t<< \"Registering camera with no media devices!\";\n+\n \t/*\n \t * Walk the entity list and map the devnums of all capture video nodes\n \t * to the camera.\n","prefixes":["libcamera-devel","v3","13/22"]}