summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/android/camera_capabilities.cpp10
-rw-r--r--src/android/camera_capabilities.h3
2 files changed, 6 insertions, 7 deletions
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<libcamera::Camera> camera,
return initializeStaticMetadata();
}
-std::vector<Size> CameraCapabilities::getYUVResolutions(CameraConfiguration *cameraConfig,
- const PixelFormat &pixelFormat,
+std::vector<Size> CameraCapabilities::getYUVResolutions(const PixelFormat &pixelFormat,
const std::vector<Size> &resolutions)
{
std::vector<Size> supportedResolutions;
-
+ std::unique_ptr<CameraConfiguration> 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<libcamera::Size>
- getYUVResolutions(libcamera::CameraConfiguration *cameraConfig,
- const libcamera::PixelFormat &pixelFormat,
+ getYUVResolutions(const libcamera::PixelFormat &pixelFormat,
const std::vector<libcamera::Size> &resolutions);
std::vector<libcamera::Size>
getRawResolutions(const libcamera::PixelFormat &pixelFormat);