[libcamera-devel] [PATCH v3 12/33] cam: stream_options: Use OptionValue::empty() to test if option is set
Jacopo Mondi
jacopo at jmondi.org
Thu Jul 22 14:52:44 CEST 2021
Hi Laurent,
On Fri, Jul 16, 2021 at 12:14:38AM +0300, Laurent Pinchart wrote:
> The roles() and updateConfiguration() functions check if the OptStream
> OptionValue they receive is empty by first casting it to an array. To
> prepare for the toArray() function not allowing such a cast when the
> option value is empty, test if the option value is empty instead.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
> ---
> src/cam/stream_options.cpp | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/cam/stream_options.cpp b/src/cam/stream_options.cpp
> index b90dbb97f087..150bd27caecf 100644
> --- a/src/cam/stream_options.cpp
> +++ b/src/cam/stream_options.cpp
> @@ -40,12 +40,12 @@ KeyValueParser::Options StreamKeyValueParser::parse(const char *arguments)
>
> StreamRoles StreamKeyValueParser::roles(const OptionValue &values)
> {
> - const std::vector<OptionValue> &streamParameters = values.toArray();
> -
> /* If no configuration values to examine default to viewfinder. */
> - if (streamParameters.empty())
> + if (values.empty())
> return { StreamRole::Viewfinder };
>
> + const std::vector<OptionValue> &streamParameters = values.toArray();
> +
> StreamRoles roles;
> for (auto const &value : streamParameters) {
> StreamRole role;
> @@ -63,17 +63,17 @@ StreamRoles StreamKeyValueParser::roles(const OptionValue &values)
> int StreamKeyValueParser::updateConfiguration(CameraConfiguration *config,
> const OptionValue &values)
> {
> - const std::vector<OptionValue> &streamParameters = values.toArray();
> -
> if (!config) {
> std::cerr << "No configuration provided" << std::endl;
> return -EINVAL;
> }
>
> /* If no configuration values nothing to do. */
> - if (!streamParameters.size())
> + if (values.empty())
> return 0;
>
> + const std::vector<OptionValue> &streamParameters = values.toArray();
> +
> if (config->size() != streamParameters.size()) {
> std::cerr
> << "Number of streams in configuration "
> --
> Regards,
>
> Laurent Pinchart
>
More information about the libcamera-devel
mailing list