Patch Detail
Show a patch.
GET /api/1.1/patches/20212/?format=api
{ "id": 20212, "url": "https://patchwork.libcamera.org/api/1.1/patches/20212/?format=api", "web_url": "https://patchwork.libcamera.org/patch/20212/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20240605174447.139942-3-nicolas@ndufresne.ca>", "date": "2024-06-05T17:44:47", "name": "[v2,2/2] gst: Document libcamerasrc multi stream usage", "commit_ref": "b7225c887a5e81229afba5fb7d5778403ae8d6af", "pull_url": null, "state": "accepted", "archived": false, "hash": "743462f48b7945c22864dd4680beba94ad5de8e2", "submitter": { "id": 30, "url": "https://patchwork.libcamera.org/api/1.1/people/30/?format=api", "name": "Nicolas Dufresne", "email": "nicolas@ndufresne.ca" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/20212/mbox/", "series": [ { "id": 4365, "url": "https://patchwork.libcamera.org/api/1.1/series/4365/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4365", "date": "2024-06-05T17:44:45", "name": "Document libcamerasrc multi stream usage", "version": 2, "mbox": "https://patchwork.libcamera.org/series/4365/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/20212/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/20212/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 77C02C32CF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 5 Jun 2024 17:45:08 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 13C5B6544B;\n\tWed, 5 Jun 2024 19:45:07 +0200 (CEST)", "from madrid.collaboradmins.com (madrid.collaboradmins.com\n\t[46.235.227.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8A501634CD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 5 Jun 2024 19:45:03 +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 F3BAA37821AA; \n\tWed, 5 Jun 2024 17:45:02 +0000 (UTC)" ], "From": "Nicolas Dufresne <nicolas@ndufresne.ca>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Nicolas Dufresne <nicolas.dufresne@collabora.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>", "Subject": "[PATCH v2 2/2] gst: Document libcamerasrc multi stream usage", "Date": "Wed, 5 Jun 2024 13:44:47 -0400", "Message-ID": "<20240605174447.139942-3-nicolas@ndufresne.ca>", "X-Mailer": "git-send-email 2.45.1", "In-Reply-To": "<20240605174447.139942-1-nicolas@ndufresne.ca>", "References": "<20240605174447.139942-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>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n README.rst | 16 ++++++++++++++++\n 1 file changed, 16 insertions(+)", "diff": "diff --git a/README.rst b/README.rst\nindex 1da7a3d6..86c2b713 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 additional source pads. Downstream caps filters 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 displays a 640x480 view finder while streaming JPEG\n+encoded 800x600 video. You can use the receiver pipeline 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": [ "v2", "2/2" ] }