Patch Detail
Show a patch.
GET /api/patches/9876/?format=api
{ "id": 9876, "url": "https://patchwork.libcamera.org/api/patches/9876/?format=api", "web_url": "https://patchwork.libcamera.org/patch/9876/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20200930132707.19367-5-jacopo@jmondi.org>", "date": "2020-09-30T13:27:02", "name": "[libcamera-devel,v4,4/9] android: camera_device: Clear allocator", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "41dbd83b21c909ac06446bb1c3196a25eaf96c28", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/9876/mbox/", "series": [ { "id": 1340, "url": "https://patchwork.libcamera.org/api/series/1340/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1340", "date": "2020-09-30T13:26:58", "name": "android: camera_device: Add support for internal buffers", "version": 4, "mbox": "https://patchwork.libcamera.org/series/1340/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/9876/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/9876/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 53302C3B5B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Sep 2020 13:23:25 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2F3DB6239C;\n\tWed, 30 Sep 2020 15:23:25 +0200 (CEST)", "from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net\n\t[217.70.183.198])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6E73B60364\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Sep 2020 15:23:23 +0200 (CEST)", "from uno.lan (93-34-118-233.ip49.fastwebnet.it [93.34.118.233])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay6-d.mail.gandi.net (Postfix) with ESMTPSA id E9AE9C0016;\n\tWed, 30 Sep 2020 13:23:21 +0000 (UTC)" ], "X-Originating-IP": "93.34.118.233", "From": "Jacopo Mondi <jacopo@jmondi.org>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Wed, 30 Sep 2020 15:27:02 +0200", "Message-Id": "<20200930132707.19367-5-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.28.0", "In-Reply-To": "<20200930132707.19367-1-jacopo@jmondi.org>", "References": "<20200930132707.19367-1-jacopo@jmondi.org>", "MIME-Version": "1.0", "Subject": "[libcamera-devel] [PATCH v4 4/9] android: camera_device: Clear\n\tallocator", "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>", "Cc": "hanlinchen@chromium.org", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Clear all the allocated buffers at camera close() time and before\nconfiguring the camera streams at configureStream() time as the\nconfigureStream operation could be called by the Android framework\nin two successive capture sessions without going through a close().\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/android/camera_device.cpp | 9 ++++++---\n 1 file changed, 6 insertions(+), 3 deletions(-)", "diff": "diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex d8587647f831..d73d10d9d449 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -534,6 +534,8 @@ int CameraDevice::open(const hw_module_t *hardwareModule)\n \n void CameraDevice::close()\n {\n+\tallocator_.freeAll();\n+\n \tcamera_->stop();\n \tcamera_->release();\n \n@@ -1181,12 +1183,13 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)\n \t}\n \n \t/*\n-\t * Clear and remove any existing configuration from previous calls, and\n-\t * ensure the required entries are available without further\n-\t * reallocation.\n+\t * Clear and remove any existing configuration and memory allocated from\n+\t * previous calls, and ensure the required entries are available without\n+\t * further reallocation.\n \t */\n \tstreams_.clear();\n \tstreams_.reserve(stream_list->num_streams);\n+\tallocator_.freeAll();\n \n \t/* First handle all non-MJPEG streams. */\n \tcamera3_stream_t *jpegStream = nullptr;\n", "prefixes": [ "libcamera-devel", "v4", "4/9" ] }