From 6837607ca3f5ef0c516198494c5211cd7be0b165 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 11 Sep 2024 23:18:13 +0200 Subject: libcamera: media_object: Add MediaPad string representations Facilitate easy representations of a MediaPad object by preparing it as a string and supporting output streams. A MediaPad will be report in the following style: 'imx283 1-001a'[0] Reviewed-by: Laurent Pinchart Reviewed-by: Stefan Klug Signed-off-by: Kieran Bingham --- src/libcamera/media_object.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src') diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp index 1b191a1e..25f16707 100644 --- a/src/libcamera/media_object.cpp +++ b/src/libcamera/media_object.cpp @@ -235,6 +235,31 @@ void MediaPad::addLink(MediaLink *link) links_.push_back(link); } +/** + * \brief Generate a string representation of the MediaPad + * \return A string representing the MediaPad + */ +std::string MediaPad::toString() const +{ + std::stringstream ss; + ss << *this; + + return ss.str(); +} + +/** + * \brief Insert a text representation of a MediaPad into an output stream + * \param[in] out The output stream + * \param[in] pad The MediaPad + * \return The output stream \a out + */ +std::ostream &operator<<(std::ostream &out, const MediaPad &pad) +{ + out << "'" << pad.entity()->name() << "'[" << pad.index() << "]"; + + return out; +} + /** * \class MediaEntity * \brief The MediaEntity represents an entity in the media graph -- cgit v1.2.1