mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-24 00:55:07 +03:00
libcamera: stream: StreamConfiguration: Add StreamFormats information
Allow StreamFormats to be associated to a StreamConfiguration. The intention is that pipeline handlers should associate formats to a StreamConfiguration when it's created in generateConfiguration(). Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
63c578ed99
commit
a502896429
2 changed files with 33 additions and 4 deletions
|
@ -35,10 +35,8 @@ private:
|
|||
};
|
||||
|
||||
struct StreamConfiguration {
|
||||
StreamConfiguration()
|
||||
: stream_(nullptr)
|
||||
{
|
||||
}
|
||||
StreamConfiguration();
|
||||
StreamConfiguration(const StreamFormats &formats);
|
||||
|
||||
unsigned int pixelFormat;
|
||||
Size size;
|
||||
|
@ -47,11 +45,13 @@ struct StreamConfiguration {
|
|||
|
||||
Stream *stream() const { return stream_; }
|
||||
void setStream(Stream *stream) { stream_ = stream; }
|
||||
const StreamFormats &formats() const { return formats_; }
|
||||
|
||||
std::string toString() const;
|
||||
|
||||
private:
|
||||
Stream *stream_;
|
||||
StreamFormats formats_;
|
||||
};
|
||||
|
||||
enum StreamRole {
|
||||
|
|
|
@ -270,6 +270,23 @@ SizeRange StreamFormats::range(unsigned int pixelformat) const
|
|||
* configured for a single video stream.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \todo This method is deprecated and should be removed once all pipeline
|
||||
* handlers provied StreamFormats.
|
||||
*/
|
||||
StreamConfiguration::StreamConfiguration()
|
||||
: stream_(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Construct a configuration with stream formats
|
||||
*/
|
||||
StreamConfiguration::StreamConfiguration(const StreamFormats &formats)
|
||||
: stream_(nullptr), formats_(formats)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* \var StreamConfiguration::size
|
||||
* \brief Stream size in pixels
|
||||
|
@ -310,6 +327,18 @@ SizeRange StreamFormats::range(unsigned int pixelformat) const
|
|||
* \param[in] stream The stream
|
||||
*/
|
||||
|
||||
/**
|
||||
* \fn StreamConfiguration::formats()
|
||||
* \brief Retrieve advisory stream format information
|
||||
*
|
||||
* This method retrieves information about the pixel formats and sizes supported
|
||||
* by the stream configuration. The sizes are advisory and not all of them are
|
||||
* guaranteed to be supported by the stream. Users shall always inspect the size
|
||||
* in the stream configuration after calling CameraConfiguration::validate().
|
||||
*
|
||||
* \return Stream formats information
|
||||
*/
|
||||
|
||||
/**
|
||||
* \brief Assemble and return a string describing the configuration
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue