{"id":17806,"url":"https://patchwork.libcamera.org/api/1.1/covers/17806/?format=json","web_url":"https://patchwork.libcamera.org/cover/17806/","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":"<20221116001724.3938045-1-kieran.bingham@ideasonboard.com>","date":"2022-11-16T00:17:22","name":"[libcamera-devel,0/2] Support resource acquisition at 'acquire()'","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/1.1/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/17806/mbox/","series":[{"id":3614,"url":"https://patchwork.libcamera.org/api/1.1/series/3614/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3614","date":"2022-11-16T00:17:22","name":"Support resource acquisition at 'acquire()'","version":1,"mbox":"https://patchwork.libcamera.org/series/3614/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/17806/comments/","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 AFED3BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 16 Nov 2022 00:17:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EF4F663092;\n\tWed, 16 Nov 2022 01:17:29 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 212EF63086\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 16 Nov 2022 01:17:29 +0100 (CET)","from Monstersaurus.local\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 8A25682C;\n\tWed, 16 Nov 2022 01:17:28 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1668557850;\n\tbh=YfuA7rGCOmvoRukZEcG/QIFqwBK9eFmjG4afta9Ol/s=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=l+7dMTFl9dN65tDZGOIIF5XbH5w2P8hQMnFt4LuZ5BvuYVprQYphyyL9m3Hx7rYuG\n\tpvZ2PkQwtc7lhRzyJO8MINaPWEXFLkTJVESPLWCHvAmFcKXkTl3TYTVriW0AXwzyr5\n\tJU7PDRdS+CN5P8XEUAo5lxeFD/a+8yJPepqulADk3cyi+cHaNJ4FQs6ifP6EvwSIP4\n\tC0zqnBxYcHbIRpSnkrWBnahkQert2EumhAScj7kOQWm6PCcMEBaTCKyriNRGMqayqx\n\tHgqi+wAK3estIMfxfzinJ/IzdmlSGAafnw/vnf8YmnsayC6WGyna1rcoz+l6mG+eYa\n\tsXjSnGatqvWIg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1668557848;\n\tbh=YfuA7rGCOmvoRukZEcG/QIFqwBK9eFmjG4afta9Ol/s=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=aAq/+UujghWOuasT8xkwELhuYM7cwWTQDo1YzR7QTP4+eTlmN94PxNwNIq9PrVU3f\n\tDVJcHZUxQd1PDucBssJv3L0LCMvG6fvp6fUPHg0R1QG/wu5kjTdM4L507A3u7DdSzg\n\t2SNezCjnZwiuDYxFCnDbQ57Ht0VDJNF+FIqIHzto="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"aAq/+Uuj\"; dkim-atps=neutral","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Date":"Wed, 16 Nov 2022 00:17:22 +0000","Message-Id":"<20221116001724.3938045-1-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/2] Support resource acquisition at\n\t'acquire()'","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":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Pipeline handlers may benefit from being able to postpone resource\nacquisition until the acquire() operation, or even release any temporary\nresources used during initialisation and only use them when acquired.\n\nThis series hopes to balance the updates to the\nPipelineHandler->release(Camera) call, with a corresponding\nPipelineHandler->acquire(camera) and facilitate pipeline handlers\nmanaging resources only when the camera is in use.\n\nWhile the pipeline patch could make some progress, the uvcvideo patch in\nthis series is not working. I fear this may be a symptom of a bug in\neither our thread or fdNotifier / event mechanisms, but haven't been\nable to track it down yet.\n\nKieran Bingham (2):\n  libcamera: pipeline: Add an acquireDevice method\n  [DNI/RFC] pipeline: uvcvideo: Only open devices upon acquire\n\n include/libcamera/internal/pipeline_handler.h |  3 +-\n src/libcamera/camera.cpp                      |  2 +-\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  | 55 +++++++++++++++----\n src/libcamera/pipeline_handler.cpp            | 23 +++++++-\n 4 files changed, 69 insertions(+), 14 deletions(-)"}