summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libcamera/stream.h20
-rw-r--r--src/libcamera/stream.cpp62
2 files changed, 48 insertions, 34 deletions
diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
index 111f2c93..3e8e83a2 100644
--- a/include/libcamera/stream.h
+++ b/include/libcamera/stream.h
@@ -11,23 +11,31 @@
namespace libcamera {
+class Camera;
+
+struct StreamConfiguration {
+ unsigned int width;
+ unsigned int height;
+ unsigned int pixelFormat;
+
+ unsigned int bufferCount;
+};
+
class Stream final
{
public:
Stream();
BufferPool &bufferPool() { return bufferPool_; }
+ const StreamConfiguration &configuration() const { return configuration_; }
private:
+ friend Camera;
+
BufferPool bufferPool_;
+ StreamConfiguration configuration_;
};
-struct StreamConfiguration {
- unsigned int width;
- unsigned int height;
- unsigned int pixelFormat;
- unsigned int bufferCount;
-};
} /* namespace libcamera */
diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
index b6238946..c4943c91 100644
--- a/src/libcamera/stream.cpp
+++ b/src/libcamera/stream.cpp
@@ -30,6 +30,37 @@
namespace libcamera {
/**
+ * \struct StreamConfiguration
+ * \brief Configuration parameters for a stream
+ *
+ * The StreamConfiguration structure models all information which can be
+ * configured for a single video stream.
+ */
+
+/**
+ * \var StreamConfiguration::width
+ * \brief Stream width in pixels
+ */
+
+/**
+ * \var StreamConfiguration::height
+ * \brief Stream height in pixels
+ */
+
+/**
+ * \var StreamConfiguration::pixelFormat
+ * \brief Stream pixel format
+ *
+ * This is a little endian four character code representation of the pixel
+ * format described in V4L2 using the V4L2_PIX_FMT_* definitions.
+ */
+
+/**
+ * \var StreamConfiguration::bufferCount
+ * \brief Requested number of buffers to allocate for the stream
+ */
+
+/**
* \class Stream
* \brief Video stream for a camera
*
@@ -66,34 +97,9 @@ Stream::Stream()
*/
/**
- * \struct StreamConfiguration
- * \brief Configuration parameters for a stream
- *
- * The StreamConfiguration structure models all information which can be
- * configured for a single video stream.
- */
-
-/**
- * \var StreamConfiguration::width
- * \brief Stream width in pixels
- */
-
-/**
- * \var StreamConfiguration::height
- * \brief Stream height in pixels
- */
-
-/**
- * \var StreamConfiguration::pixelFormat
- * \brief Stream pixel format
- *
- * This is a little endian four character code representation of the pixel
- * format described in V4L2 using the V4L2_PIX_FMT_* definitions.
- */
-
-/**
- * \var StreamConfiguration::bufferCount
- * \brief Requested number of buffers to allocate for the stream
+ * \fn Stream::configuration()
+ * \brief Retrieve the active configuration of the stream
+ * \return The active configuration of the stream
*/
} /* namespace libcamera */