{"id":330,"url":"https://patchwork.libcamera.org/api/1.1/covers/330/?format=json","web_url":"https://patchwork.libcamera.org/cover/330/","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":"<20190122232955.31783-1-niklas.soderlund@ragnatech.se>","date":"2019-01-22T23:29:52","name":"[libcamera-devel,0/3] libcamera: add association between Camera and PipelineHandlers","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/1.1/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"mbox":"https://patchwork.libcamera.org/cover/330/mbox/","series":[{"id":117,"url":"https://patchwork.libcamera.org/api/1.1/series/117/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=117","date":"2019-01-22T23:29:52","name":"libcamera: add association between Camera and PipelineHandlers","version":1,"mbox":"https://patchwork.libcamera.org/series/117/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/330/comments/","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["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 8E37E60C7D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 23 Jan 2019 00:30:43 +0100 (CET)","from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid b744d671-1e9d-11e9-874f-005056917f90;\n\tWed, 23 Jan 2019 00:30:39 +0100 (CET)"],"X-Halon-ID":"b744d671-1e9d-11e9-874f-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, 23 Jan 2019 00:29:52 +0100","Message-Id":"<20190122232955.31783-1-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.20.1","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/3] libcamera: add association between\n\tCamera and PipelineHandlers","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","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>","X-List-Received-Date":"Tue, 22 Jan 2019 23:30:43 -0000"},"content":"Hi,\n\nThis series aim to create a association between a Camera object and the \nPipelineHandler which creates it. There is a need to for both objects to \nkeep a reference to the other.\n\nThe Camera needs to have a reference to the PipelineHandler as it needs \nto call into it to perform actions requested by the user. While the \nPipelineHandler need a reference to the Camera so it can inform it when \nit goes away. As even one a PipelineHandler is gone the Camera might be \naround, but once the hardware is gone (PipelineHandler) it should \nobviously not try to forward any requests to it.\n\nIn this series both the ability to disconnect a camera and the actual \ndisconnection of it upon PipelineHandler removal is implemented. What is \nnot shown is how the Camera object should check that a PipelineHandler \nstill exists before it forwards any requests to it. This will be \ndemonstrated in a separate series which will be posted momentarily and \nwhich deals with handling the Streams of the Camera which will require \ninteractions with the PipelineHandler.\n\nNiklas Söderlund (3):\n  libcamera: camera: create a association with the responsible pipeline\n    handler\n  libcamera: pipelines: keep reference to cameras created\n  libcamera: camera: add method to disconnect camera\n\n include/libcamera/camera.h           | 10 +++++++--\n src/libcamera/camera.cpp             | 31 ++++++++++++++++++++++------\n src/libcamera/pipeline/ipu3/ipu3.cpp | 13 ++++++++++--\n src/libcamera/pipeline/uvcvideo.cpp  | 12 ++++++++---\n src/libcamera/pipeline/vimc.cpp      | 19 ++++++++---------\n 5 files changed, 62 insertions(+), 23 deletions(-)"}