{"id":23423,"url":"https://patchwork.libcamera.org/api/covers/23423/?format=json","web_url":"https://patchwork.libcamera.org/cover/23423/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20250522125521.6465-1-laurent.pinchart@ideasonboard.com>","date":"2025-05-22T12:55:17","name":"[0/4] gstreamer: Miscellaneous cleanups + one fix","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/23423/mbox/","series":[{"id":5190,"url":"https://patchwork.libcamera.org/api/series/5190/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5190","date":"2025-05-22T12:55:17","name":"gstreamer: Miscellaneous cleanups + one fix","version":1,"mbox":"https://patchwork.libcamera.org/series/5190/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/23423/comments/","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 100C2BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 May 2025 12:55:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B978668D96;\n\tThu, 22 May 2025 14:55:29 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E4F9868D8B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 May 2025 14:55:27 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(179.218-130-109.adsl-dyn.isp.belgacom.be [109.130.218.179])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id DE8B7605;\n\tThu, 22 May 2025 14:55:05 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ssfSy/sf\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1747918506;\n\tbh=PU36HPBSn3raP2bXL+K45P6tf7xOu2wsJfNqwdw/Da4=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=ssfSy/sf5/bVUZsRhENH6MLQW2V9oUkyxGFLbscEl1DdEhHNNIeLxthbs3GiXADId\n\tHDtEnFfiKtMqgGSRgNtl2kHKtvih+aVJab+3qM/CjEBpS4UIdTKXskb15Jk6NISJOh\n\tBBaekhOzkCag3QNtXQ2uDw4N/zxR/f1DIYK9FngI=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Hou Qi <qi.hou@nxp.com>,\n\tNicolas Dufresne <nicolas.dufresne@collabora.com>","Subject":"[PATCH 0/4] gstreamer: Miscellaneous cleanups + one fix","Date":"Thu, 22 May 2025 14:55:17 +0200","Message-ID":"<20250522125521.6465-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.49.0","MIME-Version":"1.0","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>"},"content":"Hello everybody,\n\nHere's a set of miscellaneous cleanups for libcamerasrc that follow the\nrecently added GstVideoMeta support. They mostly improve readability,\nbut patch 3/4 also fixes a leak.\n\nThe refactoring in patch 4/4 makes explicit that the\ngst_libcamera_create_video_pool() function can return a NULL video pool\nin two cases. I have not marked them as error to avoid changing the\ncurrent behaviour. Feedback from people more knowledgeable than me about\nGStreamer would be appreciated to tell if this is correct, or if we need\nan additional patch to turn those paths into errors.\n\nThe code has been compile-tested only as I'm not sure how to exercize\nthe video pool creation code path.\n\nLaurent Pinchart (4):\n  gstreamer: Document improvements when updating minimum GStreamer\n    version\n  gstreamer: Factor out video pool creation\n  gstreamer: Fix leak of GstQuery in error path\n  gstreamer: Reduce indentation in gst_libcamera_create_video_pool()\n\n src/gstreamer/gstlibcamerasrc.cpp | 118 ++++++++++++++++++------------\n 1 file changed, 71 insertions(+), 47 deletions(-)\n\n\nbase-commit: efdbe3969841e342c30dfdced38b6ad9ad55dccf\n--\nRegards,\n\nLaurent Pinchart"}