diff options
author | malikakash <malikakash@google.com> | 2023-12-14 22:47:55 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-02-22 00:06:11 +0000 |
commit | bfebf3916833e49178c0264e327e0f6caef99ba0 (patch) | |
tree | a8351691ae488d2e4644f7fa6bfae40f9a658b57 | |
parent | 97fcfc7fec01aa740208d701232fe2f7f3557778 (diff) | |
download | av-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
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; |