diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-08-11 03:50:01 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-10-07 18:28:13 +0300 |
commit | f9c28992a9f591124db24b44d94b88ff4ca294f8 (patch) | |
tree | a59f8bae7f64b08748b9859294e40350a9b4f2a5 /src/cam/stream_options.cpp | |
parent | 22ab0b41936886fe65da9a6a386b69b7ce22620d (diff) |
libcamera: controls: Construct Span with size for array controls
The ControlList::set() function overload used for array controls
constructs a Span from an initializer list. It doesn't specify the Span
size explicitly, which results in a dynamic extent Span being
constructed. That causes a compilation failure for fixed-size array
controls, as they are defined as Control<T> with T being a fixed-extent
Span, and conversion from a dynamic-extent to fixed-extent Span when
calling ControlValue::set() can't be implicit.
Fix this by constructing the Span using the size of the control, which
resolves to a fixed-extent and dynamic-extent Span for fixed-size and
dynamic-size array controls respectively. The ControlList::set()
function that takes an initializer list can then be used for fixed-size
array controls.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'src/cam/stream_options.cpp')
0 files changed, 0 insertions, 0 deletions