camera2: Don't log vendor tag errors when camera HAL too old
Change-Id: Id7fe9464d7599a566cea976cddc62ad101cf4a10
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 78e7037..0fcd598 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -81,13 +81,8 @@
mCameraService = CameraBinderDecorator.newInstance(cameraServiceRaw);
try {
- int err = CameraMetadataNative.nativeSetupGlobalVendorTagDescriptor();
- if (err == CameraBinderDecorator.EOPNOTSUPP) {
- Log.w(TAG, "HAL version doesn't vendor tags.");
- } else {
- CameraBinderDecorator.throwOnError(CameraMetadataNative.
- nativeSetupGlobalVendorTagDescriptor());
- }
+ CameraBinderDecorator.throwOnError(
+ CameraMetadataNative.nativeSetupGlobalVendorTagDescriptor());
} catch(CameraRuntimeException e) {
throw new IllegalStateException("Failed to setup camera vendor tags",
e.asChecked());
diff --git a/core/jni/android_hardware_camera2_CameraMetadata.cpp b/core/jni/android_hardware_camera2_CameraMetadata.cpp
index 8c15ac25..957f95c 100644
--- a/core/jni/android_hardware_camera2_CameraMetadata.cpp
+++ b/core/jni/android_hardware_camera2_CameraMetadata.cpp
@@ -579,9 +579,14 @@
sp<VendorTagDescriptor> desc;
err = cameraService->getCameraVendorTagDescriptor(/*out*/desc);
- if (err != OK) {
- ALOGE("%s: Failed to setup vendor tag descriptors, received error %s (%d)", __FUNCTION__,
- strerror(-err), err);
+ if (err == -EOPNOTSUPP) {
+ ALOGW("%s: Camera HAL too old; does not support vendor tags", __FUNCTION__);
+ VendorTagDescriptor::clearGlobalVendorTagDescriptor();
+
+ return OK;
+ } else if (err != OK) {
+ ALOGE("%s: Failed to setup vendor tag descriptors, received error %s (%d)",
+ __FUNCTION__, strerror(-err), err);
return err;
}