{"id":20089,"url":"https://patchwork.libcamera.org/api/1.1/patches/20089/?format=json","web_url":"https://patchwork.libcamera.org/patch/20089/","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":"<20240522203924.1111388-3-nicolas@ndufresne.ca>","date":"2024-05-22T20:39:24","name":"[v1,2/2] gst: Document libcamerasrc multi stream usage","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"7e242f9bb2a9f9938a03b89482dc2d6c3e93198a","submitter":{"id":30,"url":"https://patchwork.libcamera.org/api/1.1/people/30/?format=json","name":"Nicolas Dufresne","email":"nicolas@ndufresne.ca"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20089/mbox/","series":[{"id":4322,"url":"https://patchwork.libcamera.org/api/1.1/series/4322/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4322","date":"2024-05-22T20:39:22","name":"Document libcamerasrc multi stream usage","version":1,"mbox":"https://patchwork.libcamera.org/series/4322/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20089/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20089/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 8B68EBDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 22 May 2024 20:40:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2E9D06349C;\n\tWed, 22 May 2024 22:40:07 +0200 (CEST)","from madrid.collaboradmins.com (madrid.collaboradmins.com\n\t[IPv6:2a00:1098:ed:100::25])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 088E66349C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 22 May 2024 22:39:58 +0200 (CEST)","from nicolas-tpx395.lan (cola.collaboradmins.com [195.201.22.229])\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 madrid.collaboradmins.com (Postfix) with ESMTPSA id EF81F3781480; \n\tWed, 22 May 2024 20:39:57 +0000 (UTC)"],"From":"Nicolas Dufresne <nicolas@ndufresne.ca>","To":"libcamera-devel@lists.libcamera.org","Cc":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","Subject":"[PATCH v1 2/2] gst: Document libcamerasrc multi stream usage","Date":"Wed, 22 May 2024 16:39:24 -0400","Message-ID":"<20240522203924.1111388-3-nicolas@ndufresne.ca>","X-Mailer":"git-send-email 2.45.0","In-Reply-To":"<20240522203924.1111388-1-nicolas@ndufresne.ca>","References":"<20240522203924.1111388-1-nicolas@ndufresne.ca>","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":"From: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n\nThis adds documentation and an example using gst-launch-1.0.\n\nSigned-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n---\n README.rst | 16 ++++++++++++++++\n 1 file changed, 16 insertions(+)","diff":"diff --git a/README.rst b/README.rst\nindex 1da7a3d6..d605182b 100644\n--- a/README.rst\n+++ b/README.rst\n@@ -178,6 +178,22 @@ Which can be received on another device over the network with:\n    gst-launch-1.0 tcpclientsrc host=$DEVICE_IP port=5000 ! \\\n         multipartdemux ! jpegdec ! autovideosink\n \n+The GStreamer element also supports multiple streams. This is achieved by\n+requesting additionnal source pads. Downstream caps filteris can be used\n+to choose specific parameters like resolution and pixel format. The pad\n+property ``stream-role`` can be used to select a role.\n+\n+The following example displayis a 640x480 view finder while streamiing JPEG\n+encoded 800x600 video. You can use the receiver pipleine above to view the\n+remote stream from another device.\n+\n+.. code::\n+\n+   gst-launch-1.0 libcamerasrc name=cs src::stream-role=view-finder src_0::stream-role=video-recording \\\n+       cs.src ! queue ! video/x-raw,width=640,height=480 ! videoconvert ! autovideosink \\\n+       cs.src_0 ! queue ! video/x-raw,width=800,height=600 ! videoconvert ! \\\n+       jpegenc ! multipartmux ! tcpserversink host=0.0.0.0 port=5000\n+\n .. section-end-getting-started\n \n Troubleshooting\n","prefixes":["v1","2/2"]}