[{"id":36611,"web_url":"https://patchwork.libcamera.org/comment/36611/","msgid":"<176209679649.2973778.6983364720021073215@ping.linuxembedded.co.uk>","date":"2025-11-02T15:19:56","subject":"Re: [RFC PATCH v3 13/22] [DNI] apps: cam: Print `MetadataList` of\n\t`Request` as well","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-10-30 16:58:07)\n> When the \"--metadata\" option is enabled, print the dedicated\n> `MetadataList` of the request as well.\n> ---\n>  src/apps/cam/camera_session.cpp | 8 ++++++++\n>  1 file changed, 8 insertions(+)\n> \n> diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp\n> index 0aef3128f2..ecb1b50b9c 100644\n> --- a/src/apps/cam/camera_session.cpp\n> +++ b/src/apps/cam/camera_session.cpp\n> @@ -535,11 +535,19 @@ void CameraSession::processRequest(Request *request)\n>  \n>         if (printMetadata_) {\n>                 const ControlList &requestMetadata = request->metadata();\n> +               std::cout << \"Metadata (\" << requestMetadata.size() << \" entries):\\n\";\n>                 for (const auto &[key, value] : requestMetadata) {\n>                         const ControlId *id = controls::controls.at(key);\n>                         std::cout << \"\\t\" << id->name() << \" = \"\n>                                   << value.toString() << std::endl;\n>                 }\n> +\n> +               const auto &requestMetadata2 = request->metadata2();\n> +               std::cout << \"Metadata2 (\" << requestMetadata2.size() << \" entries):\\n\";\n> +               for (const auto &[key, value] : requestMetadata2) {\n> +                       const ControlId *id = controls::controls.at(key);\n> +                       std::cout << '\\t' << id->name() << \" = \" << value << std::endl;\n\nSo this makes me think for the omst part - the interface on metadata2 is\nthe same, so should be possible to directly replace metadata()?\n\nOf course it's an ABI break - but we can do that 'at the moment'...\n\n> +               }\n>         }\n>  \n>         /*\n> -- \n> 2.51.1\n>","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 E758EBDE4C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  2 Nov 2025 15:20:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2D182606E6;\n\tSun,  2 Nov 2025 16:20:01 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 85E30606E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun,  2 Nov 2025 16:19:59 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 215C410D4;\n\tSun,  2 Nov 2025 16:18:07 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"BP0C0ov0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762096687;\n\tbh=/1WrBn4vFpJzY69EGune8glE1FjQOEckS12vE+0qViA=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=BP0C0ov0pZxisguNVifLnNtXLYv/jX/vzdI7Av1U7sfRZRpAtYg2/X1/ysJzVH9rj\n\tUMMki4j0uq8XkvoeefStHKplBqY9lvfTmjFOVeQzqKP4y/efw3GOi8EeEoKi0gWf7x\n\tzJp8te+elGh4QiPnpWbr6dt3nh1I41JzPtoUhqNs=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251030165816.1095180-14-barnabas.pocze@ideasonboard.com>","References":"<20251030165816.1095180-1-barnabas.pocze@ideasonboard.com>\n\t<20251030165816.1095180-14-barnabas.pocze@ideasonboard.com>","Subject":"Re: [RFC PATCH v3 13/22] [DNI] apps: cam: Print `MetadataList` of\n\t`Request` as well","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Sun, 02 Nov 2025 15:19:56 +0000","Message-ID":"<176209679649.2973778.6983364720021073215@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}},{"id":36639,"web_url":"https://patchwork.libcamera.org/comment/36639/","msgid":"<cf6914ac-93d4-46b8-9146-9ea2c0b54e85@ideasonboard.com>","date":"2025-11-03T09:43:18","subject":"Re: [RFC PATCH v3 13/22] [DNI] apps: cam: Print `MetadataList` of\n\t`Request` as well","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"Hi\n\n2025. 11. 02. 16:19 keltezéssel, Kieran Bingham írta:\n> Quoting Barnabás Pőcze (2025-10-30 16:58:07)\n>> When the \"--metadata\" option is enabled, print the dedicated\n>> `MetadataList` of the request as well.\n>> ---\n>>   src/apps/cam/camera_session.cpp | 8 ++++++++\n>>   1 file changed, 8 insertions(+)\n>>\n>> diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp\n>> index 0aef3128f2..ecb1b50b9c 100644\n>> --- a/src/apps/cam/camera_session.cpp\n>> +++ b/src/apps/cam/camera_session.cpp\n>> @@ -535,11 +535,19 @@ void CameraSession::processRequest(Request *request)\n>>   \n>>          if (printMetadata_) {\n>>                  const ControlList &requestMetadata = request->metadata();\n>> +               std::cout << \"Metadata (\" << requestMetadata.size() << \" entries):\\n\";\n>>                  for (const auto &[key, value] : requestMetadata) {\n>>                          const ControlId *id = controls::controls.at(key);\n>>                          std::cout << \"\\t\" << id->name() << \" = \"\n>>                                    << value.toString() << std::endl;\n>>                  }\n>> +\n>> +               const auto &requestMetadata2 = request->metadata2();\n>> +               std::cout << \"Metadata2 (\" << requestMetadata2.size() << \" entries):\\n\";\n>> +               for (const auto &[key, value] : requestMetadata2) {\n>> +                       const ControlId *id = controls::controls.at(key);\n>> +                       std::cout << '\\t' << id->name() << \" = \" << value << std::endl;\n> \n> So this makes me think for the omst part - the interface on metadata2 is\n> the same, so should be possible to directly replace metadata()?\n\nYes, that is the intention (and it works for the most part);\nplease see the last change in this series.\n\n\n> \n> Of course it's an ABI break - but we can do that 'at the moment'...\n> \n>> +               }\n>>          }\n>>   \n>>          /*\n>> -- \n>> 2.51.1\n>>","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 DBF66C3241\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Nov 2025 09:43:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6ECAE60A9E;\n\tMon,  3 Nov 2025 10:43:22 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9DB0760805\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Nov 2025 10:43:21 +0100 (CET)","from [192.168.33.39] (185.221.140.239.nat.pool.zt.hu\n\t[185.221.140.239])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D701599F;\n\tMon,  3 Nov 2025 10:41:28 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"X+2IKnRk\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762162889;\n\tbh=CYaEnVqrn6PzEYj6cLsYpaiaH1D/Hr3pV6u/EResZsI=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=X+2IKnRkXE39Sx5RsOnwiS/svXlLMISSpC9GGd/7/JDZsIqhmyQdcyR5m/pziLCLf\n\tgM7AE3b96AUX0lYsEVbL5IeW9LtCXgPtBT5QiNMttDnBJ/5hWFI6b0kq31s6tzOtYt\n\t7SIXYPDq0GMx8fLLs9IepVBT+x3BGmMMBbM+3sDI=","Message-ID":"<cf6914ac-93d4-46b8-9146-9ea2c0b54e85@ideasonboard.com>","Date":"Mon, 3 Nov 2025 10:43:18 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH v3 13/22] [DNI] apps: cam: Print `MetadataList` of\n\t`Request` as well","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251030165816.1095180-1-barnabas.pocze@ideasonboard.com>\n\t<20251030165816.1095180-14-barnabas.pocze@ideasonboard.com>\n\t<176209679649.2973778.6983364720021073215@ping.linuxembedded.co.uk>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<176209679649.2973778.6983364720021073215@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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>"}}]