libcamera: uvc: Initialize the pixel array properties

Initialize the pixel array properties in the UVC pipeline handler as
they're now initialized in the CameraSensor class, which the UVC
pipeline handler does not use.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi
2021-01-05 12:40:38 +01:00
parent c35123e6f9
commit 89b495c054

View File

@@ -509,6 +509,22 @@ int UVCCameraData::init(MediaDevice *media)
properties_.set(properties::Location, properties::CameraLocationExternal);
properties_.set(properties::Model, utils::toAscii(media->model()));
/*
* Get the current format in order to initialize the sensor array
* properties.
*/
Size resolution;
for (const auto &it : video_->formats()) {
const std::vector<SizeRange> &sizeRanges = it.second;
for (const SizeRange &sizeRange : sizeRanges) {
if (sizeRange.max > resolution)
resolution = sizeRange.max;
}
}
properties_.set(properties::PixelArraySize, resolution);
properties_.set(properties::PixelArrayActiveAreas, { Rectangle(resolution) });
/* Initialise the supported controls. */
ControlInfoMap::Map ctrls;