[v4] libcamera: stream: Add operator<<(StreamConfiguration)
diff mbox series

Message ID 20241206183036.107837-1-jacopo.mondi@ideasonboard.com
State Accepted
Headers show
Series
  • [v4] libcamera: stream: Add operator<<(StreamConfiguration)
Related show

Commit Message

Jacopo Mondi Dec. 6, 2024, 6:30 p.m. UTC
The StreamConfiguration class only implements toString() but doesn't
offer an overload of operator<<() which is more convenient to use.

Add an overload for operator<<(StreamConfiguration) and re-implement
StreamConfiguration::toString() on top of it.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 include/libcamera/stream.h |  2 ++
 src/libcamera/stream.cpp   | 18 +++++++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
index 071b71698acb..ea228aea7d56 100644
--- a/include/libcamera/stream.h
+++ b/include/libcamera/stream.h
@@ -61,6 +61,8 @@  private:
 	StreamFormats formats_;
 };
 
+std::ostream &operator<<(std::ostream &out, StreamConfiguration cfg);
+
 enum class StreamRole {
 	Raw,
 	StillCapture,
diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
index 1f75dbbc5b64..eb92cb69df31 100644
--- a/src/libcamera/stream.cpp
+++ b/src/libcamera/stream.cpp
@@ -392,7 +392,23 @@  StreamConfiguration::StreamConfiguration(const StreamFormats &formats)
  */
 std::string StreamConfiguration::toString() const
 {
-	return size.toString() + "-" + pixelFormat.toString();
+	std::stringstream ss;
+	ss << *this;
+
+	return ss.str();
+}
+
+/**
+ * \brief Insert a text representation of a StreamConfiguration into an output
+ * stream
+ * \param[in] out The output stream
+ * \param[in] cfg The StreamConfiguration
+ * \return The output stream \a out
+ */
+std::ostream &operator<<(std::ostream &out, StreamConfiguration cfg)
+{
+	out << cfg.size << "-" << cfg.pixelFormat;
+	return out;
 }
 
 /**