[{"id":2772,"web_url":"https://patchwork.libcamera.org/comment/2772/","msgid":"<20191003215531.GI4737@pendragon.ideasonboard.com>","date":"2019-10-03T21:55:31","subject":"Re: [libcamera-devel] [PATCH v4 04/11] libcamera: request: Add meta\n\tdata information","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Niklas,\n\nThank you for the patch.\n\nOn Thu, Oct 03, 2019 at 07:49:34PM +0200, Niklas Söderlund wrote:\n> A new ControlList container is needed to hold meta data coming out of\n\nAccording to https://en.wiktionary.org/wiki/meta_data, this should be\nmetadata. The method and field below should then be called metadata()\nand metadata_.\n\n> the IPA. The list of supported controls in this list is expected to grow\n> and for now do not add a validator for the list.\n> \n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> ---\n>  include/libcamera/request.h |  2 ++\n>  src/libcamera/request.cpp   | 12 ++++++++++++\n>  2 files changed, 14 insertions(+)\n> \n> diff --git a/include/libcamera/request.h b/include/libcamera/request.h\n> index e3db5243aaf3cf30..d3435d134c560f44 100644\n> --- a/include/libcamera/request.h\n> +++ b/include/libcamera/request.h\n> @@ -37,6 +37,7 @@ public:\n>  \t~Request();\n>  \n>  \tControlList &controls() { return *controls_; }\n> +\tControlList &metaData() { return *metaData_; }\n>  \tconst std::map<Stream *, Buffer *> &buffers() const { return bufferMap_; }\n>  \tint addBuffer(std::unique_ptr<Buffer> buffer);\n>  \tBuffer *findBuffer(Stream *stream) const;\n> @@ -58,6 +59,7 @@ private:\n>  \tCamera *camera_;\n>  \tCameraControlValidator *validator_;\n>  \tControlList *controls_;\n> +\tControlList *metaData_;\n>  \tstd::map<Stream *, Buffer *> bufferMap_;\n>  \tstd::unordered_set<Buffer *> pending_;\n>  \n> diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\n> index 19f6d0b9a0aeb03c..1e1418a9b57393b3 100644\n> --- a/src/libcamera/request.cpp\n> +++ b/src/libcamera/request.cpp\n> @@ -65,6 +65,11 @@ Request::Request(Camera *camera, uint64_t cookie)\n>  \t */\n>  \tvalidator_ = new CameraControlValidator(camera);\n>  \tcontrols_ = new ControlList(validator_);\n> +\n> +\t/**\n> +\t * \\todo: Add a validator for meta data controls.\n> +\t */\n> +\tmetaData_ = new ControlList(nullptr);\n>  }\n>  \n>  Request::~Request()\n> @@ -74,6 +79,7 @@ Request::~Request()\n>  \t\tdelete buffer;\n>  \t}\n>  \n> +\tdelete metaData_;\n>  \tdelete controls_;\n>  \tdelete validator_;\n>  }\n> @@ -161,6 +167,12 @@ Buffer *Request::findBuffer(Stream *stream) const\n>  \treturn it->second;\n>  }\n>  \n> +/**\n> + * \\fn Request::metaData()\n> + * \\brief Retrieve the request's meta data\n> + * \\return The meta data associated with the request\n\nmetadata here too.\n\n> + */\n\nCould you add a todo to offer a read-only API towards applications while\nkeeping a read/write API internally ?\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\n>  /**\n>   * \\fn Request::cookie()\n>   * \\brief Retrieve the cookie set when the request was created","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AA37460BE8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  3 Oct 2019 23:55:45 +0200 (CEST)","from pendragon.ideasonboard.com (unknown [132.205.229.214])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 86ECF2E5;\n\tThu,  3 Oct 2019 23:55:44 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1570139745;\n\tbh=UWJI0EZpNwEi3oJA22K933ykacRd9vRfFkfS3ufytKI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=r2Qr/hfVF+OtTj2f0rdUzNSuT9+6970G4CucMjbEzcbLPb5TzQEjLBpkdbdwBgFBI\n\th8K+83I0OyLBRIS5OtdfzDe+2NwKJUeO8yyfhtbPzc3X3CbW6Oy5k15hhzsUG5doFp\n\tzke3mh0fpeYuOazKMBUAHgaTgx8bvq7dVkMGEaYE=","Date":"Fri, 4 Oct 2019 00:55:31 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20191003215531.GI4737@pendragon.ideasonboard.com>","References":"<20191003174941.1296988-1-niklas.soderlund@ragnatech.se>\n\t<20191003174941.1296988-5-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20191003174941.1296988-5-niklas.soderlund@ragnatech.se>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v4 04/11] libcamera: request: Add meta\n\tdata information","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>","X-List-Received-Date":"Thu, 03 Oct 2019 21:55:45 -0000"}}]