{"id":23667,"url":"https://patchwork.libcamera.org/api/1.1/patches/23667/?format=json","web_url":"https://patchwork.libcamera.org/patch/23667/","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":"<20250627074208.49872-2-uajain@igalia.com>","date":"2025-06-27T07:42:07","name":"[1/2] libcamera: orientation: Provide a orientationToString() helper","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"7f2b0d121d2d49d9690516f69bf0de86b8102003","submitter":{"id":232,"url":"https://patchwork.libcamera.org/api/1.1/people/232/?format=json","name":"Umang Jain","email":"uajain@igalia.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/23667/mbox/","series":[{"id":5253,"url":"https://patchwork.libcamera.org/api/1.1/series/5253/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5253","date":"2025-06-27T07:42:07","name":"gstreamer: Report mounting-rotation of camera sensor","version":1,"mbox":"https://patchwork.libcamera.org/series/5253/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/23667/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/23667/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 9309BC3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 27 Jun 2025 07:42:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 59A6962C43;\n\tFri, 27 Jun 2025 09:42:12 +0200 (CEST)","from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 69FCC62C43\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 Jun 2025 09:42:08 +0200 (CEST)","from [49.36.69.141] (helo=uajain)\n\tby fanzine2.igalia.com with esmtpsa \n\t(Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1uV3ip-009IWh-1Q; Fri, 27 Jun 2025 09:42:07 +0200"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=igalia.com header.i=@igalia.com\n\theader.b=\"liNtOi6A\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;\n\ts=20170329;\n\th=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:\n\tMessage-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=mvvFNaw2jdZFCCB1PiMsn7ihVU387wE6bEAWhFktXJ8=;\n\tb=liNtOi6AYwVlDmyaRvyiODLFls\n\ti8NqrfwP+kK4/Qzxg9hVzlAJlCQXbI1NtVmsM6lLvhu51C7HiU61AvI2f84l59d7v/8JV50tQaKEB\n\tQIG+v5gbWqqtg0P46JcFtuDX8M2jSLcU3koyr7+gcXRmG59qdKaWJiCcq2wf4/C6NoIdeFdoezmIP\n\tHo+ibFhFMahsG+MJS5IxFIT8nElbpKuubeWb5C8DJzuX7TDX0PpipbAJHUfFjZRS+VspryDK7xNZy\n\tu78wY5UKlAWJDsaAdSAqCEYIuFJh48lKsXAg8ToSRseEgECQnettYfmguuqx87CBRZQNb567TZePi\n\tuOo93SaA==;","From":"Umang Jain <uajain@igalia.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Giacomo Cappellini <giacomo.cappellini.87@gmail.com>,\n\tNicolas Dufresne <nicolas@ndufresne.ca>, Umang Jain <uajain@igalia.com>","Subject":"[PATCH 1/2] libcamera: orientation: Provide a orientationToString()\n\thelper","Date":"Fri, 27 Jun 2025 13:12:07 +0530","Message-ID":"<20250627074208.49872-2-uajain@igalia.com>","X-Mailer":"git-send-email 2.50.0","In-Reply-To":"<20250627074208.49872-1-uajain@igalia.com>","References":"<20250627074208.49872-1-uajain@igalia.com>","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":"Provide a orientationToString() helper to convert Orientation enum\nto a std::string.\n\nSigned-off-by: Umang Jain <uajain@igalia.com>\n---\n include/libcamera/orientation.h |  1 +\n src/libcamera/orientation.cpp   | 14 ++++++++++++++\n 2 files changed, 15 insertions(+)","diff":"diff --git a/include/libcamera/orientation.h b/include/libcamera/orientation.h\nindex a3b40e63..f0ef8f1c 100644\n--- a/include/libcamera/orientation.h\n+++ b/include/libcamera/orientation.h\n@@ -24,6 +24,7 @@ enum class Orientation {\n };\n \n Orientation orientationFromRotation(int angle, bool *success = nullptr);\n+std::string orientationToString(const Orientation &orientation);\n \n std::ostream &operator<<(std::ostream &out, const Orientation &orientation);\n \ndiff --git a/src/libcamera/orientation.cpp b/src/libcamera/orientation.cpp\nindex 7d7d21ae..f5493673 100644\n--- a/src/libcamera/orientation.cpp\n+++ b/src/libcamera/orientation.cpp\n@@ -8,6 +8,7 @@\n #include <libcamera/orientation.h>\n \n #include <array>\n+#include <sstream>\n \n /**\n  * \\file orientation.h\n@@ -91,6 +92,19 @@ Orientation orientationFromRotation(int angle, bool *success)\n \treturn Orientation::Rotate0;\n }\n \n+/**\n+ * \\brief Generate a string representation of \\a orientation item\n+ * \\param[in] orientation The Orientation item\n+ * \\return A std::string representation for \\a orientation\n+ */\n+std::string orientationToString(const Orientation &orientation)\n+{\n+\tstd::stringstream ss;\n+\tss << orientation;\n+\n+\treturn ss.str();\n+}\n+\n /**\n  * \\brief Prints human-friendly names for Orientation items\n  * \\param[in] out The output stream\n","prefixes":["1/2"]}