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,15 +11,7 @@ namespace libcamera { -class Stream final -{ -public: - Stream(); - BufferPool &bufferPool() { return bufferPool_; } - -private: - BufferPool bufferPool_; -}; +class Camera; struct StreamConfiguration { unsigned int width; @@ -29,6 +21,22 @@ struct StreamConfiguration { 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_; +}; + + + } /* namespace libcamera */ #endif /* __LIBCAMERA_STREAM_H__ */ 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 @@ -29,6 +29,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 */