[PATCH v2] libcamera: stream: Add operator<<(StreamConfiguration)
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Fri Dec 6 17:22:29 CET 2024
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 at ideasonboard.com>
---
include/libcamera/stream.h | 2 ++
src/libcamera/stream.cpp | 18 +++++++++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
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..63aa5a027295 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 << size.toString() + "-" + pixelFormat.toString();
+ return out;
}
/**
--
2.47.1
More information about the libcamera-devel
mailing list