[{"id":36247,"web_url":"https://patchwork.libcamera.org/comment/36247/","msgid":"<dbcd80eb08a4e13f4a07c02dc6dce1bfaae90bab.camel@collabora.com>","date":"2025-10-14T12:32:38","subject":"Re: [PATCH] gstreamer: Update the TODO list","submitter":{"id":31,"url":"https://patchwork.libcamera.org/api/people/31/","name":"Nicolas Dufresne","email":"nicolas.dufresne@collabora.com"},"content":"Le lundi 13 octobre 2025 à 20:03 +0530, Umang Jain a écrit :\n> Update the feature TODO list of libcamerasrc as it hasn't been\n> updated since its introduction. Following entries have been dropped\n> since they are supported:\n> \n> - Implement GstElement::request-new-pad (multi stream)\n> commit 53a0d80af0f9 (\"gstreamer: Added virtual functions needed to support request pads\")\n> \n> - Add framerate control\n> - Add framerate negotiation support\n> commit ccfe0a1af77c (\"gstreamer: Provide framerate support for libcamerasrc\")\n> \n> - Add colorimetry support\n> commit fc9783acc608 (\"gstreamer: Provide colorimetry <> ColorSpace mappings\")\n> \n> - Use unique names to select the camera devices\n> commit 2c93810ec1f1 (\"gst: libcamerasrc: Add camera-name property\")\n> (The property that is set here is fed into CameraManager::get()\n> eventually, ensuring we can select the camera devices by unique IDs.)\n> \n> At the same time, append the buffer importation support entry to\n> mention the potential usage of memory:DMAbuf, that landed in\n> gstreamer-1.26.\n> \n> Signed-off-by: Umang Jain <uajain@igalia.com>\n> ---\n>  src/gstreamer/gstlibcamerasrc.cpp | 7 +------\n>  1 file changed, 1 insertion(+), 6 deletions(-)\n> \n> diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp\n> index 71236a0f..ac69ed15 100644\n> --- a/src/gstreamer/gstlibcamerasrc.cpp\n> +++ b/src/gstreamer/gstlibcamerasrc.cpp\n> @@ -11,17 +11,12 @@\n>   *  - Implement GstElement::send_event\n>   *    + Allowing application to use FLUSH/FLUSH_STOP\n>   *    + Prevent the main thread from accessing streaming thread\n> - *  - Implement GstElement::request-new-pad (multi stream)\n> - *    + Evaluate if a single streaming thread is fine\n>   *  - Add application driven request (snapshot)\n> - *  - Add framerate control\n>   *  - Add buffer importation support\n> + *    + Evaluate the feasibility of memory:DMAbuf support\n>   *\n>   *  Requires new libcamera API:\n> - *  - Add framerate negotiation support\n> - *  - Add colorimetry support\n>   *  - Add timestamp support\n> - *  - Use unique names to select the camera devices\n>   *  - Add GstVideoMeta support (strides and offsets)\n\nCan be updated too, see \"848a3017 gstreamer: Add GstVideoMeta support\". I think\nthat todo was a bit ambiguous, since libcamera uses legacy method of single\nstride (single offset) and you have to guess the other strides, but for output\nit means we cover libcamera API entirely. The rest of the issues will fall into\n\"importation support\", since most importation will required more effort to\nverify that the stride[0] and offsets[1] and up matches the value libcamera will\nexpect implicitly.\n\nOther then that:\n\nReviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n\nNicolas\n\n>   */\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 524C2BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 14 Oct 2025 12:32:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 45F9F605F0;\n\tTue, 14 Oct 2025 14:32:42 +0200 (CEST)","from bali.collaboradmins.com (bali.collaboradmins.com\n\t[148.251.105.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 09E44605DF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 14 Oct 2025 14:32:41 +0200 (CEST)","from [IPv6:2606:6d00:17:ebd3::c41] (unknown\n\t[IPv6:2606:6d00:17:ebd3::c41])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits)\n\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: nicolas)\n\tby bali.collaboradmins.com (Postfix) with ESMTPSA id 3EE7D17E0C54;\n\tTue, 14 Oct 2025 14:32:40 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=collabora.com header.i=@collabora.com\n\theader.b=\"aWzw/6Ld\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1760445160;\n\tbh=PqD5123tEUDnRx2owl2b/vg7NkZI6DWMnNSz0J5zyzc=;\n\th=Subject:From:To:Date:In-Reply-To:References:From;\n\tb=aWzw/6Ld66Iy3BBSSmDiMHZTvGhqoiEa5vNT1X5zz/CJQ7JaqPWbTlVyHWWHHMrz6\n\tDwr3HfvakNUXRkhv/cKGoALOXIcSkf4AiqxnrRC9wUkRsMcPkC39YcE/8Japv/Sn+h\n\tL4nTRJLp2qegdomxTQwk0UJML/MR9QrIJ80QLL98iAiYHMhPiMYDPfuSPOcFq+Ro8+\n\t58Zp4syakePhpdryG00IlPGzAWbDD/j1229Fqd1dFcaWIZeXa/cnLnNED/s3Yq/Tjz\n\tFK2mVAQvYCJSsgOBTIDnmr079AjF7kyRRx14fc8Dsl1gMhMzgNtm3Q3mRoyTY94GjY\n\thLakfLIHUdEvw==","Message-ID":"<dbcd80eb08a4e13f4a07c02dc6dce1bfaae90bab.camel@collabora.com>","Subject":"Re: [PATCH] gstreamer: Update the TODO list","From":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","To":"Umang Jain <uajain@igalia.com>, libcamera-devel@lists.libcamera.org","Date":"Tue, 14 Oct 2025 08:32:38 -0400","In-Reply-To":"<20251013143342.174450-1-uajain@igalia.com>","References":"<20251013143342.174450-1-uajain@igalia.com>","Autocrypt":"addr=nicolas.dufresne@collabora.com; prefer-encrypt=mutual;\n\tkeydata=mDMEaCN2ixYJKwYBBAHaRw8BAQdAM0EHepTful3JOIzcPv6ekHOenE1u0vDG1gdHFrChD\n\t/e0J05pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNAbmR1ZnJlc25lLmNhPoicBBMWCgBEAhsDBQsJCA\n\tcCAiICBhUKCQgLAgQWAgMBAh4HAheABQkJZfd1FiEE7w1SgRXEw8IaBG8S2UGUUSlgcvQFAmibrjo\n\tCGQEACgkQ2UGUUSlgcvQlQwD/RjpU1SZYcKG6pnfnQ8ivgtTkGDRUJ8gP3fK7+XUjRNIA/iXfhXMN\n\tabIWxO2oCXKf3TdD7aQ4070KO6zSxIcxgNQFtDFOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1Z\n\tnJlc25lQGNvbGxhYm9yYS5jb20+iJkEExYKAEECGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4\n\tAWIQTvDVKBFcTDwhoEbxLZQZRRKWBy9AUCaCyyxgUJCWX3dQAKCRDZQZRRKWBy9ARJAP96pFmLffZ\n\tsmBUpkyVBfFAf+zq6BJt769R0al3kHvUKdgD9G7KAHuioxD2v6SX7idpIazjzx8b8rfzwTWyOQWHC\n\tAAS0LU5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAZ21haWwuY29tPoiZBBMWCgBBF\n\tiEE7w1SgRXEw8IaBG8S2UGUUSlgcvQFAmibrGYCGwMFCQll93UFCwkIBwICIgIGFQoJCAsCBBYCAw\n\tECHgcCF4AACgkQ2UGUUSlgcvRObgD/YnQjfi4+L8f4fI7p1pPMTwRTcaRdy6aqkKEmKsCArzQBAK8\n\tbRLv9QjuqsE6oQZra/RB4widZPvphs78H0P6NmpIJ","Organization":"Collabora Canada","Content-Type":"multipart/signed; micalg=\"pgp-sha512\";\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"=-g6pU/mvYSHGyH7OlkDIu\"","User-Agent":"Evolution 3.56.2 (3.56.2-2.fc42) ","MIME-Version":"1.0","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>"}}]