{"id":9947,"url":"https://patchwork.libcamera.org/api/1.1/covers/9947/?format=json","web_url":"https://patchwork.libcamera.org/cover/9947/","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":"<20201005104649.10812-1-laurent.pinchart@ideasonboard.com>","date":"2020-10-05T10:46:34","name":"[libcamera-devel,00/15] CameraStream refactoring","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/9947/mbox/","series":[{"id":1349,"url":"https://patchwork.libcamera.org/api/1.1/series/1349/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1349","date":"2020-10-05T10:46:34","name":"CameraStream refactoring","version":1,"mbox":"https://patchwork.libcamera.org/series/1349/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/9947/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 0EE61C3B5D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Oct 2020 10:47:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3C18563C08;\n\tMon,  5 Oct 2020 12:47:35 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8E91E63B27\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Oct 2020 12:47:33 +0200 (CEST)","from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 822123B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Oct 2020 12:47:32 +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=\"ZPINYqN+\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1601894852;\n\tbh=CCaTlKEV0E9SkK0dm0A5ARM8Kcy5prtzUvVfNaHRH2c=;\n\th=From:To:Subject:Date:From;\n\tb=ZPINYqN+waqHouRfSjuyCWVpD1pBr40wcVgkNgr2oqT1JeYBLFRS9QTzh2+n0BWm4\n\tdxy40Owiq1PsDTyoPhIJu+ID4P46WdTbysR8wqEq8FRkrBg360LF74/xXQGSmuMGgk\n\tbqGocDc6lyUGTOtMjOH4UT6Ln1+qzZ2eEqtiJtUQ=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon,  5 Oct 2020 13:46:34 +0300","Message-Id":"<20201005104649.10812-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.27.0","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH 00/15] CameraStream refactoring","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":"Hello,\n\nI'm sending this on behalf of Jacopo as his ISP decided that\ngit-send-email should be classified as spam.\n\n(From now on 'I' means Jacopo)\n\nThe series takes what was sent as 'Internal buffers support' but as the\nneed for refactoring CameraStream has become more and more pressing, I\ndecided to bite the bullet and rebase internal buffers support on top of\na rework of CameraStream which now lives in its own .cpp and .h files.\n\nThe rework is not only about moving code but also to refactor the class\nto make clear the association of an Android camera3_stream_t and the\nassociated libcamera::StreamConfiguration. There's a bit of churn in the\nseries, I'm aware of that, alternating new features with refactoring. I\nhope it's not confusing.\n\nOn top of CameraStream rework, internal buffer allocation and handling\nhas been moved to the CameraStream class.\n\nTest results are in line with the ones obtained with the last iteration\nof the 'Internal buffers' series.\n\nJacopo Mondi (15):\n  android: camera_stream: Break out CameraStream\n  android: camera_stream: Add CameraStream::Type\n  android: camera_stream: Delegate Encoder construction\n  android: camera_stream: Construct with Android stream\n  android: camera_device: Move processing to CameraStream\n  android: camera_stream: Retrieve Stream and Configuration\n  android: camera_stream: Fetch format and size from configuration\n  android: camera_device: Return Camera as shared_ptr\n  android: camera_stream: Add FrameBufferAllocator\n  android: camera_stream: Allocate FrameBuffers\n  android: camera_device: Make CameraStream configuration nicer\n  android: camera_stream: Add methods to get/put buffers\n  android: camera_device: Use CameraStream buffers\n  android: camera_device: Add stream mapping log\n  android: camera_device: Clear streams_ at stop time\n\n src/android/camera_device.cpp      | 190 ++++++++++++-----------------\n src/android/camera_device.h        |  30 ++---\n src/android/camera_hal_manager.cpp |   2 +-\n src/android/camera_stream.cpp      | 168 +++++++++++++++++++++++++\n src/android/camera_stream.h        | 152 +++++++++++++++++++++++\n src/android/meson.build            |   1 +\n 6 files changed, 411 insertions(+), 132 deletions(-)\n create mode 100644 src/android/camera_stream.cpp\n create mode 100644 src/android/camera_stream.h"}