libcamera: stream: Add stream configuration to the stream object
Add a cache of the active stream configuration to the stream object. This cache is to be updated from the Camera object and can be accessed read only from both the application and pipeline handlers. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
1b7051b492
commit
1d7b6297f2
2 changed files with 51 additions and 37 deletions
|
@ -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__ */
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue