{"id":15367,"url":"https://patchwork.libcamera.org/api/1.1/patches/15367/?format=json","web_url":"https://patchwork.libcamera.org/patch/15367/","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":"<20220216123544.637834-2-kieran.bingham@ideasonboard.com>","date":"2022-02-16T12:35:43","name":"[libcamera-devel,SimpleCam,1/2] simple-cam: processRequest: Report timestamp and enhance description","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"2c3689601610744f802778689980c7926dff5ff6","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/1.1/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"delegate":{"id":11,"url":"https://patchwork.libcamera.org/api/1.1/users/11/?format=json","username":"kbingham","first_name":"Kieran","last_name":"Bingham","email":"kieran.bingham@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/patch/15367/mbox/","series":[{"id":2933,"url":"https://patchwork.libcamera.org/api/1.1/series/2933/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2933","date":"2022-02-16T12:35:42","name":"Extend Request metadata reporting","version":1,"mbox":"https://patchwork.libcamera.org/series/2933/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/15367/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/15367/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 36671C3261\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 16 Feb 2022 12:35:52 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 36BFE6113C;\n\tWed, 16 Feb 2022 13:35:51 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F41BB610F8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 16 Feb 2022 13:35:48 +0100 (CET)","from Monstersaurus.ksquared.org.uk.beta.tailscale.net\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 9289C482;\n\tWed, 16 Feb 2022 13:35:48 +0100 (CET)"],"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=\"qMYI/Lq2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1645014948;\n\tbh=mIpX4IaHO0YEY0B9M91PqnBwf7+YCBiaqrCIiLl+X10=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=qMYI/Lq2WNr3T+18CptP6dal1bgPwJ06ID5BTKTDbEmI9Hvs3OZ4zEhgjKfXuFKsZ\n\tRTFfRZ52urtb6XE3dKigvEUvVm9jANFlTXGAxM+sf5bq3y4omDsVdHj4u6Q4KC8uuZ\n\t4Zp/x7NxlXrISXIabME3jBqMaB5VfX2kz9ThC0Aw=","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Date":"Wed, 16 Feb 2022 12:35:43 +0000","Message-Id":"<20220216123544.637834-2-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.32.0","In-Reply-To":"<20220216123544.637834-1-kieran.bingham@ideasonboard.com>","References":"<20220216123544.637834-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [SimpleCam PATCH 1/2] simple-cam: processRequest:\n\tReport timestamp and enhance description","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Report the timestamp of the completed buffers when the processRequest()\ncall handles a request and improve the description to discuss more of\nthe operations that can be done here.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n simple-cam.cpp | 12 +++++++++++-\n 1 file changed, 11 insertions(+), 1 deletion(-)","diff":"diff --git a/simple-cam.cpp b/simple-cam.cpp\nindex 71a715a0c27d..e282463c3976 100644\n--- a/simple-cam.cpp\n+++ b/simple-cam.cpp\n@@ -46,8 +46,17 @@ static void requestComplete(Request *request)\n \n static void processRequest(Request *request)\n {\n+\t/*\n+\t * Each buffer has its own FrameMetadata to describe its state, or the\n+\t * usage of each buffer. While in our simple capture we only provide one\n+\t * buffer per request, a request can have a buffer for each stream that\n+\t * is established when configuring the camera.\n+\t *\n+\t * This allows a viewfinder and a still image to be processed at the\n+\t * same time, or to allow obtaining the RAW capture buffer from the\n+\t * sensor along with the image as processed by the ISP.\n+\t */\n \tconst Request::BufferMap &buffers = request->buffers();\n-\n \tfor (auto bufferPair : buffers) {\n \t\t// (Unused) Stream *stream = bufferPair.first;\n \t\tFrameBuffer *buffer = bufferPair.second;\n@@ -55,6 +64,7 @@ static void processRequest(Request *request)\n \n \t\t/* Print some information about the buffer which has completed. */\n \t\tstd::cout << \" seq: \" << std::setw(6) << std::setfill('0') << metadata.sequence\n+\t\t\t  << \" timestamp: \" << metadata.timestamp\n \t\t\t  << \" bytesused: \";\n \n \t\tunsigned int nplane = 0;\n","prefixes":["libcamera-devel","SimpleCam","1/2"]}