camera.device@3.4/metadata@3.3: Revise MOTION_TRACKING capability
Simplify the API for the P release
- Remove new templates
- Update docs
- Also update some metadata docs from prior changes
Test: Revised Camera CTS passes
Bug: 63629224
Change-Id: I47fb170052cf6062955278ace624a91e8a0078b3
diff --git a/camera/device/3.4/ICameraDeviceSession.hal b/camera/device/3.4/ICameraDeviceSession.hal
index 7afcf94..c41d90e 100644
--- a/camera/device/3.4/ICameraDeviceSession.hal
+++ b/camera/device/3.4/ICameraDeviceSession.hal
@@ -31,43 +31,6 @@
interface ICameraDeviceSession extends @3.3::ICameraDeviceSession {
/**
- * constructDefaultRequestSettings_3_4:
- *
- * Create capture settings for standard camera use cases. Supports the
- * new template enums added in @3.4.
- *
- * The device must return a settings buffer that is configured to meet the
- * requested use case, which must be one of the CAMERA3_TEMPLATE_*
- * enums. All request control fields must be included.
- *
- * Performance requirements:
- *
- * This must be a non-blocking call. The HAL should return from this call
- * in 1ms, and must return from this call in 5ms.
- *
- * Return values:
- * @return status Status code for the operation, one of:
- * OK:
- * On a successful construction of default settings.
- * INTERNAL_ERROR:
- * An unexpected internal error occurred, and the default settings
- * are not available.
- * ILLEGAL_ARGUMENT:
- * The camera HAL does not support the input template type
- * CAMERA_DISCONNECTED:
- * An external camera device has been disconnected, and is no longer
- * available. This camera device interface is now stale, and a new
- * instance must be acquired if the device is reconnected. All
- * subsequent calls on this interface must return
- * CAMERA_DISCONNECTED.
- * @return requestTemplate The default capture request settings for the requested
- * use case, or an empty metadata structure if status is not OK.
- *
- */
- constructDefaultRequestSettings_3_4(RequestTemplate type) generates
- (Status status, @3.2::CameraMetadata requestTemplate);
-
- /**
* configureStreams_3_4:
*
* Identical to @3.3::ICameraDeviceSession.configureStreams, except that:
diff --git a/camera/device/3.4/default/CameraDeviceSession.cpp b/camera/device/3.4/default/CameraDeviceSession.cpp
index f6c6b2b..771197a 100644
--- a/camera/device/3.4/default/CameraDeviceSession.cpp
+++ b/camera/device/3.4/default/CameraDeviceSession.cpp
@@ -56,14 +56,6 @@
CameraDeviceSession::~CameraDeviceSession() {
}
-Return<void> CameraDeviceSession::constructDefaultRequestSettings_3_4(
- RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) {
- V3_2::CameraMetadata outMetadata;
- Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata);
- _hidl_cb(status, outMetadata);
- return Void();
-}
-
Return<void> CameraDeviceSession::configureStreams_3_4(
const StreamConfiguration& requestedConfiguration,
ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb) {
diff --git a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
index 51bfe36..fb42605 100644
--- a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
+++ b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
@@ -133,15 +133,6 @@
return Void();
}
-Return<void> ExternalCameraDeviceSession::constructDefaultRequestSettings_3_4(
- RequestTemplate type,
- ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) {
- V3_2::CameraMetadata outMetadata;
- Status status = constructDefaultRequestSettingsRaw(type, &outMetadata);
- _hidl_cb(status, outMetadata);
- return Void();
-}
-
Status ExternalCameraDeviceSession::constructDefaultRequestSettingsRaw(RequestTemplate type,
V3_2::CameraMetadata *outMetadata) {
CameraMetadata emptyMd;
@@ -160,9 +151,7 @@
}
case RequestTemplate::MANUAL:
case RequestTemplate::ZERO_SHUTTER_LAG:
- case RequestTemplate::MOTION_TRACKING_PREVIEW:
- case RequestTemplate::MOTION_TRACKING_BEST:
- // Don't support MANUAL, ZSL, MOTION_TRACKING_* templates
+ // Don't support MANUAL, ZSL templates
status = Status::ILLEGAL_ARGUMENT;
break;
default:
diff --git a/camera/device/3.4/default/include/device_v3_4_impl/CameraDeviceSession.h b/camera/device/3.4/default/include/device_v3_4_impl/CameraDeviceSession.h
index 9cd7da7..6e90ed4 100644
--- a/camera/device/3.4/default/include/device_v3_4_impl/CameraDeviceSession.h
+++ b/camera/device/3.4/default/include/device_v3_4_impl/CameraDeviceSession.h
@@ -74,11 +74,6 @@
protected:
// Methods from v3.3 and earlier will trampoline to inherited implementation
- // New methods for v3.4
- Return<void> constructDefaultRequestSettings_3_4(
- RequestTemplate type,
- ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb);
-
Return<void> configureStreams_3_4(
const StreamConfiguration& requestedConfiguration,
ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb);
@@ -163,12 +158,6 @@
return mParent->close();
}
- virtual Return<void> constructDefaultRequestSettings_3_4(
- RequestTemplate type,
- ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) override {
- return mParent->constructDefaultRequestSettings_3_4(type, _hidl_cb);
- }
-
virtual Return<void> configureStreams_3_3(
const V3_2::StreamConfiguration& requestedConfiguration,
configureStreams_3_3_cb _hidl_cb) override {
diff --git a/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraDeviceSession.h b/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraDeviceSession.h
index fabf26a..b6a2397 100644
--- a/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraDeviceSession.h
+++ b/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraDeviceSession.h
@@ -53,7 +53,7 @@
using ::android::hardware::camera::device::V3_2::ICameraDeviceCallback;
using ::android::hardware::camera::device::V3_2::MsgType;
using ::android::hardware::camera::device::V3_2::NotifyMsg;
-using ::android::hardware::camera::device::V3_4::RequestTemplate;
+using ::android::hardware::camera::device::V3_2::RequestTemplate;
using ::android::hardware::camera::device::V3_2::Stream;
using ::android::hardware::camera::device::V3_4::StreamConfiguration;
using ::android::hardware::camera::device::V3_2::StreamConfigurationMode;
@@ -110,11 +110,7 @@
// Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow
Return<void> constructDefaultRequestSettings(
- V3_2::RequestTemplate,
- ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb);
-
- Return<void> constructDefaultRequestSettings_3_4(
- RequestTemplate type,
+ RequestTemplate,
ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb);
Return<void> configureStreams(
@@ -341,7 +337,7 @@
mParent(parent) {}
virtual Return<void> constructDefaultRequestSettings(
- V3_2::RequestTemplate type,
+ RequestTemplate type,
V3_3::ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) override {
return mParent->constructDefaultRequestSettings(type, _hidl_cb);
}
@@ -376,12 +372,6 @@
return mParent->close();
}
- virtual Return<void> constructDefaultRequestSettings_3_4(
- RequestTemplate type,
- ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) override {
- return mParent->constructDefaultRequestSettings_3_4(type, _hidl_cb);
- }
-
virtual Return<void> configureStreams_3_3(
const V3_2::StreamConfiguration& requestedConfiguration,
configureStreams_3_3_cb _hidl_cb) override {
diff --git a/camera/device/3.4/types.hal b/camera/device/3.4/types.hal
index c8ebb17..5681a5c 100644
--- a/camera/device/3.4/types.hal
+++ b/camera/device/3.4/types.hal
@@ -78,36 +78,6 @@
};
/**
- * New request templates, extending the @3.2 RequestTemplate
- */
-enum RequestTemplate : @3.2::RequestTemplate {
- /**
- * A template for selecting camera parameters that match TEMPLATE_PREVIEW as closely as
- * possible while improving the camera output for motion tracking use cases.
- *
- * This template is best used by applications that are frequently switching between motion
- * tracking use cases and regular still capture use cases, to minimize the IQ changes
- * when swapping use cases.
- *
- * This template is guaranteed to be supported on camera devices that support the
- * REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING capability.
- */
- MOTION_TRACKING_PREVIEW = 7,
-
- /**
- * A template for selecting camera parameters that maximize the quality of camera output for
- * motion tracking use cases.
- *
- * This template is best used by applications dedicated to motion tracking applications,
- * which aren't concerned about fast switches between motion tracking and other use cases.
- *
- * This template is guaranteed to be supported on camera devices that support the
- * REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING capability.
- */
- MOTION_TRACKING_BEST = 8,
-};
-
-/**
* StreamConfiguration:
*
* Identical to @3.2::StreamConfiguration, except that it contains session