diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp index 6b5edb66..6543c2bb 100644 --- a/src/android/camera_capabilities.cpp +++ b/src/android/camera_capabilities.cpp @@ -138,13 +138,14 @@ int CameraCapabilities::initialize(std::shared_ptr camera, return initializeStaticMetadata(); } -std::vector CameraCapabilities::getYUVResolutions(CameraConfiguration *cameraConfig, - const PixelFormat &pixelFormat, +std::vector CameraCapabilities::getYUVResolutions(const PixelFormat &pixelFormat, const std::vector &resolutions) { std::vector supportedResolutions; - + std::unique_ptr cameraConfig = + camera_->generateConfiguration({ StreamRole::Viewfinder }); StreamConfiguration &cfg = cameraConfig->at(0); + for (const Size &res : resolutions) { cfg.pixelFormat = pixelFormat; cfg.size = res; @@ -324,8 +325,7 @@ int CameraCapabilities::initializeStreamConfigurations() if (info.colourEncoding == PixelFormatInfo::ColourEncodingRAW) resolutions = getRawResolutions(mappedFormat); else - resolutions = getYUVResolutions(cameraConfig.get(), - mappedFormat, + resolutions = getYUVResolutions(mappedFormat, cameraResolutions); for (const Size &res : resolutions) { diff --git a/src/android/camera_capabilities.h b/src/android/camera_capabilities.h index 4f5be825..e72bf084 100644 --- a/src/android/camera_capabilities.h +++ b/src/android/camera_capabilities.h @@ -43,8 +43,7 @@ private: }; std::vector - getYUVResolutions(libcamera::CameraConfiguration *cameraConfig, - const libcamera::PixelFormat &pixelFormat, + getYUVResolutions(const libcamera::PixelFormat &pixelFormat, const std::vector &resolutions); std::vector getRawResolutions(const libcamera::PixelFormat &pixelFormat);