[libcamera-devel] [PATCH 12/17] libcamera: stream: StreamConfiguration: Add StreamFormats information
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jun 10 08:52:45 CEST 2019
Hi Niklas,
Thank you for the patch.
On Mon, May 27, 2019 at 02:15:38AM +0200, Niklas Söderlund wrote:
> 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 at ragnatech.se>
> ---
> include/libcamera/stream.h | 8 ++++----
> src/libcamera/stream.cpp | 19 +++++++++++++++++++
> 2 files changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
> index 48daf5ac23f55d85..5b4fea324ce449b1 100644
> --- a/include/libcamera/stream.h
> +++ b/include/libcamera/stream.h
> @@ -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 {
> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
> index a2931902fda2baa5..4452b6ff010cfbdf 100644
> --- a/src/libcamera/stream.cpp
> +++ b/src/libcamera/stream.cpp
> @@ -260,6 +260,19 @@ SizeRange StreamFormats::range(unsigned int pixelformat) const
> * configured for a single video stream.
> */
>
> +StreamConfiguration::StreamConfiguration()
> + : stream_(nullptr)
> +{
> +}
> +
> +/**
> + * \brief Create with stream format description
"Construct a configuration with stream formats" ?
> + */
> +StreamConfiguration::StreamConfiguration(const StreamFormats &formats)
> + : stream_(nullptr), formats_(formats)
> +{
> +}
> +
> /**
> * \var StreamConfiguration::size
> * \brief Stream size in pixels
> @@ -300,6 +313,12 @@ SizeRange StreamFormats::range(unsigned int pixelformat) const
> * \param[in] stream The stream
> */
>
> +/**
> + * \fn StreamConfiguration::formats()
> + * \brief Retrieve the advisory stream formats description
> + * \return A stream formats description
We'll have to expand this a bit I think.
> + */
> +
> /**
> * \brief Assemble and return a string describing the configuration
> *
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list