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

Commit b0119fa1 authored by Jan Sebechlebsky's avatar Jan Sebechlebsky Committed by Ján Sebechlebský
Browse files

Minor fixes to match VTS requirements:

* Add missing camera characteristic metadata entries required by VTS
* Do not fail for VIDEO_SNAPSHOT template in constructDefaultRequestSettings.

Bug: 301023410
Test: atest VtsAidlHalCameraProvider_TargetTest (with manually added
virutal camera provider)
Test: atest virtual_camera_tests

Change-Id: I86fee06d67b16f8155b47d0deb4c217c8f8e5698
parent 24282008
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ std::optional<CameraMetadata> initCameraCharacteristics(
          .setLensFacing(ANDROID_LENS_FACING_EXTERNAL)
          .setSensorOrientation(0)
          .setAvailableFaceDetectModes({ANDROID_STATISTICS_FACE_DETECT_MODE_OFF})
          .setAvailableMaxDigitalZoom(1.0)
          .setControlAvailableModes({ANDROID_CONTROL_MODE_AUTO})
          .setControlAfAvailableModes({ANDROID_CONTROL_AF_MODE_OFF})
          .setControlAeAvailableFpsRange(10, 30)
          .setControlMaxRegions(0, 0, 0)
+2 −2
Original line number Diff line number Diff line
@@ -260,11 +260,11 @@ ndk::ScopedAStatus VirtualCameraSession::constructDefaultRequestSettings(
  switch (in_type) {
    case RequestTemplate::PREVIEW:
    case RequestTemplate::STILL_CAPTURE:
    case RequestTemplate::VIDEO_RECORD: {
    case RequestTemplate::VIDEO_RECORD:
    case RequestTemplate::VIDEO_SNAPSHOT: {
      *_aidl_return = createDefaultRequestSettings(in_type);
      return ndk::ScopedAStatus::ok();
    }
    case RequestTemplate::VIDEO_SNAPSHOT:
    case RequestTemplate::MANUAL:
    case RequestTemplate::ZERO_SHUTTER_LAG:
      // Don't support VIDEO_SNAPSHOT, MANUAL, ZSL templates
+8 −0
Original line number Diff line number Diff line
@@ -95,6 +95,14 @@ MetadataBuilder& MetadataBuilder::setAvailableFaceDetectModes(
  return *this;
}

MetadataBuilder& MetadataBuilder::setControlAvailableModes(
    const std::vector<camera_metadata_enum_android_control_mode_t>&
        availableModes) {
  mEntryMap[ANDROID_CONTROL_AVAILABLE_MODES] =
      convertTo<uint8_t>(availableModes);
  return *this;
}

MetadataBuilder& MetadataBuilder::setControlAfAvailableModes(
    const std::vector<camera_metadata_enum_android_control_af_mode_t>&
        availableModes) {
+5 −0
Original line number Diff line number Diff line
@@ -99,6 +99,11 @@ class MetadataBuilder {
  MetadataBuilder& setAvailableOutputStreamConfigurations(
      const std::vector<StreamConfiguration>& streamConfigurations);

  // See ANDROID_CONTROL_AVAILABLE_MODES in CameraMetadataTag.aidl.
  MetadataBuilder& setControlAvailableModes(
      const std::vector<camera_metadata_enum_android_control_mode_t>&
          availableModes);

  // See ANDROID_CONTROL_AE_COMPENSATION_RANGE in CameraMetadataTag.aidl.
  MetadataBuilder& setControlAeCompensationRange(int32_t min, int32_t max);