diff options
-rw-r--r-- | include/libcamera/stream.h | 20 | ||||
-rw-r--r-- | src/libcamera/stream.cpp | 62 |
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 */ |