summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalikakash <malikakash@google.com>2023-12-14 22:47:55 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-22 00:06:11 +0000
commitbfebf3916833e49178c0264e327e0f6caef99ba0 (patch)
treea8351691ae488d2e4644f7fa6bfae40f9a658b57
parent97fcfc7fec01aa740208d701232fe2f7f3557778 (diff)
downloadav-bfebf3916833e49178c0264e327e0f6caef99ba0.tar.gz
Fix VendorTagId to be metadata_vendor_id_t
- It is currently int. This was causing downstream issues because the CameraMetadata object passed to configureStreams had the wrong vendor_id, so we couldn't call update() on it with vendor tags. - As a drive by, specify getVendorId() as being const. Without this, we need to keep copying const CameraMetadata objects to simply get their vendor id. Thanks epeev@ for all your pointers along the debugging journey! Bug: 316413287 Test: m (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9a238f6c8d4579910dafec89d3dcb1c75e37bc03) Merged-In: I32bf9bcb7137990d28b9fcbe1b27bc41ebbd50ee Change-Id: I32bf9bcb7137990d28b9fcbe1b27bc41ebbd50ee
-rw-r--r--camera/CameraMetadata.cpp2
-rw-r--r--camera/include/camera/CameraMetadata.h2
-rw-r--r--services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp2
-rw-r--r--services/camera/libcameraservice/utils/SessionConfigurationUtils.h2
4 files changed, 4 insertions, 4 deletions
diff --git a/camera/CameraMetadata.cpp b/camera/CameraMetadata.cpp
index 2e808d1272..424923a27f 100644
--- a/camera/CameraMetadata.cpp
+++ b/camera/CameraMetadata.cpp
@@ -880,7 +880,7 @@ status_t CameraMetadata::getTagFromName(const char *name,
return OK;
}
-metadata_vendor_id_t CameraMetadata::getVendorId() {
+metadata_vendor_id_t CameraMetadata::getVendorId() const {
return get_camera_metadata_vendor_id(mBuffer);
}
diff --git a/camera/include/camera/CameraMetadata.h b/camera/include/camera/CameraMetadata.h
index c56ee6da8b..2903dfbc0c 100644
--- a/camera/include/camera/CameraMetadata.h
+++ b/camera/include/camera/CameraMetadata.h
@@ -245,7 +245,7 @@ class CameraMetadata: public Parcelable {
/**
* Return the current vendor tag id associated with this metadata.
*/
- metadata_vendor_id_t getVendorId();
+ metadata_vendor_id_t getVendorId() const;
private:
camera_metadata_t *mBuffer;
diff --git a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
index 3be8e15161..384f53e23d 100644
--- a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
+++ b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
@@ -1133,7 +1133,7 @@ status_t mapRequestTemplateToAidl(camera_request_template_t templateId,
}
void filterParameters(const CameraMetadata& src, const CameraMetadata& deviceInfo,
- int vendorTagId, CameraMetadata& dst) {
+ metadata_vendor_id_t vendorTagId, CameraMetadata& dst) {
const CameraMetadata params(src);
camera_metadata_ro_entry_t availableSessionKeys = deviceInfo.find(
ANDROID_REQUEST_AVAILABLE_SESSION_KEYS);
diff --git a/services/camera/libcameraservice/utils/SessionConfigurationUtils.h b/services/camera/libcameraservice/utils/SessionConfigurationUtils.h
index 29e3eca9af..5b2ea5c06f 100644
--- a/services/camera/libcameraservice/utils/SessionConfigurationUtils.h
+++ b/services/camera/libcameraservice/utils/SessionConfigurationUtils.h
@@ -177,7 +177,7 @@ status_t mapRequestTemplateToAidl(camera_request_template_t templateId,
aidl::android::hardware::camera::device::RequestTemplate* tempId /*out*/);
void filterParameters(const CameraMetadata& src, const CameraMetadata& deviceInfo,
- int vendorTagId, CameraMetadata& dst);
+ metadata_vendor_id_t vendorTagId, CameraMetadata& dst);
constexpr int32_t MAX_SURFACES_PER_STREAM = 4;