Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ab07fea authored by Jan Sebechlebsky's avatar Jan Sebechlebsky
Browse files

Add control zoom range to virtual camera metadata.

Although not enforced by VTS, this missing entry causes OpenCamera crash
when it tries to query the zoom range.

Bug: 301023410
Test: OpenCamera
Change-Id: I48d1119102a4107e96d433b17bc3f0ef5ae5d1c2
parent f8505e07
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -143,6 +143,7 @@ std::optional<CameraMetadata> initCameraCharacteristics(
          .setControlAwbRegions({kDefaultEmptyControlRegion})
          .setControlAwbRegions({kDefaultEmptyControlRegion})
          .setControlAeCompensationRange(0, 1)
          .setControlAeCompensationRange(0, 1)
          .setControlAeCompensationStep(camera_metadata_rational_t{0, 1})
          .setControlAeCompensationStep(camera_metadata_rational_t{0, 1})
          .setControlZoomRatioRange(/*min=*/1.0, /*max=*/1.0)
          .setMaxJpegSize(kMaxJpegSize)
          .setMaxJpegSize(kMaxJpegSize)
          .setAvailableRequestKeys({ANDROID_CONTROL_AF_MODE})
          .setAvailableRequestKeys({ANDROID_CONTROL_AF_MODE})
          .setAvailableResultKeys({ANDROID_CONTROL_AF_MODE})
          .setAvailableResultKeys({ANDROID_CONTROL_AF_MODE})
+6 −0
Original line number Original line Diff line number Diff line
@@ -233,6 +233,12 @@ MetadataBuilder& MetadataBuilder::setAvailableMaxDigitalZoom(const float maxZoom
  return *this;
  return *this;
}
}


MetadataBuilder& MetadataBuilder::setControlZoomRatioRange(const float min,
                                                           const float max) {
  mEntryMap[ANDROID_CONTROL_ZOOM_RATIO_RANGE] = std::vector<float>({min, max});
  return *this;
}

MetadataBuilder& MetadataBuilder::setSensorActiveArraySize(int x0, int y0,
MetadataBuilder& MetadataBuilder::setSensorActiveArraySize(int x0, int y0,
                                                           int x1, int y1) {
                                                           int x1, int y1) {
  mEntryMap[ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE] =
  mEntryMap[ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE] =
+3 −0
Original line number Original line Diff line number Diff line
@@ -151,6 +151,9 @@ class MetadataBuilder {
  // See ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM in CameraMetadataTag.aidl.
  // See ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM in CameraMetadataTag.aidl.
  MetadataBuilder& setAvailableMaxDigitalZoom(const float maxZoom);
  MetadataBuilder& setAvailableMaxDigitalZoom(const float maxZoom);


  // See ANDROID_CONTROL_ZOOM_RATIO_RANGE in CameraMetadataTag.aidl.
  MetadataBuilder& setControlZoomRatioRange(float min, float max);

  // A list of all keys that the camera device has available to use with
  // A list of all keys that the camera device has available to use with
  // CaptureRequest.
  // CaptureRequest.
  //
  //