Loading camera/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ filegroup { srcs: [ "aidl/android/hardware/CameraExtensionSessionStats.aidl", "aidl/android/hardware/ICameraService.aidl", "aidl/android/hardware/CameraIdRemapping.aidl", "aidl/android/hardware/ICameraServiceListener.aidl", "aidl/android/hardware/ICameraServiceProxy.aidl", "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl", Loading camera/aidl/android/hardware/CameraIdRemapping.aidl 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware; /** * Specifies a remapping of Camera Ids. * * Example: For a given package, a remapping of camera id0 to id1 specifies * that any operation to perform on id0 should instead be performed on id1. * * @hide */ parcelable CameraIdRemapping { /** * Specifies remapping of Camera Ids per package. */ parcelable PackageIdRemapping { /** Package Name (e.g. com.android.xyz). */ @utf8InCpp String packageName; /** * Ordered list of Camera Ids to replace. Only Camera Ids present in this list will be * affected. */ @utf8InCpp List<String> cameraIdsToReplace; /** * Ordered list of updated Camera Ids, where updatedCameraIds[i] corresponds to * the updated camera id for cameraIdsToReplace[i]. */ @utf8InCpp List<String> updatedCameraIds; } /** * List of Camera Id remappings to perform. */ List<PackageIdRemapping> packageIdRemappings; } camera/aidl/android/hardware/ICameraService.aidl +17 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.hardware.camera2.utils.CameraIdAndSessionConfiguration; import android.hardware.camera2.impl.CameraMetadataNative; import android.hardware.ICameraServiceListener; import android.hardware.CameraInfo; import android.hardware.CameraIdRemapping; import android.hardware.CameraStatus; import android.hardware.CameraExtensionSessionStats; Loading Loading @@ -130,6 +131,22 @@ interface ICameraService in CameraIdAndSessionConfiguration[] sessions, int targetSdkVersion); /** * Remap Camera Ids in the CameraService. * * Once this is in effect, all binder calls in the ICameraService that * use logicalCameraId should consult remapping state to arrive at the * correct cameraId to perform the operation on. * * Note: Before the new cameraIdRemapping state is applied, the previous * state is cleared. * * @param cameraIdRemapping the camera ids to remap. Sending an unpopulated * cameraIdRemapping object will result in clearing of any previous * cameraIdRemapping state in the camera service. */ void remapCameraIds(in CameraIdRemapping cameraIdRemapping); /** * Remove listener for changes to camera device and flashlight state. */ Loading camera/ndk/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,7 @@ cc_test { shared_libs: [ "libcamera2ndk_vendor", "libcamera_metadata", "libhidlbase", "libmediandk", "libnativewindow", "libutils", Loading @@ -187,6 +188,7 @@ cc_test { ], static_libs: [ "android.hardware.camera.common@1.0-helper", "android.hidl.token@1.0", ], cflags: [ "-D__ANDROID_VNDK__", Loading camera/ndk/impl/ACameraMetadata.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -400,7 +400,6 @@ ACameraMetadata::getConstEntry(uint32_t tag, ACameraMetadata_const_entry* entry) camera_metadata_ro_entry rawEntry = static_cast<const CameraMetadata*>(mData.get())->find(tag); if (rawEntry.count == 0) { ALOGE("%s: cannot find metadata tag %d", __FUNCTION__, tag); return ACAMERA_ERROR_METADATA_NOT_FOUND; } entry->tag = tag; Loading Loading
camera/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ filegroup { srcs: [ "aidl/android/hardware/CameraExtensionSessionStats.aidl", "aidl/android/hardware/ICameraService.aidl", "aidl/android/hardware/CameraIdRemapping.aidl", "aidl/android/hardware/ICameraServiceListener.aidl", "aidl/android/hardware/ICameraServiceProxy.aidl", "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl", Loading
camera/aidl/android/hardware/CameraIdRemapping.aidl 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware; /** * Specifies a remapping of Camera Ids. * * Example: For a given package, a remapping of camera id0 to id1 specifies * that any operation to perform on id0 should instead be performed on id1. * * @hide */ parcelable CameraIdRemapping { /** * Specifies remapping of Camera Ids per package. */ parcelable PackageIdRemapping { /** Package Name (e.g. com.android.xyz). */ @utf8InCpp String packageName; /** * Ordered list of Camera Ids to replace. Only Camera Ids present in this list will be * affected. */ @utf8InCpp List<String> cameraIdsToReplace; /** * Ordered list of updated Camera Ids, where updatedCameraIds[i] corresponds to * the updated camera id for cameraIdsToReplace[i]. */ @utf8InCpp List<String> updatedCameraIds; } /** * List of Camera Id remappings to perform. */ List<PackageIdRemapping> packageIdRemappings; }
camera/aidl/android/hardware/ICameraService.aidl +17 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.hardware.camera2.utils.CameraIdAndSessionConfiguration; import android.hardware.camera2.impl.CameraMetadataNative; import android.hardware.ICameraServiceListener; import android.hardware.CameraInfo; import android.hardware.CameraIdRemapping; import android.hardware.CameraStatus; import android.hardware.CameraExtensionSessionStats; Loading Loading @@ -130,6 +131,22 @@ interface ICameraService in CameraIdAndSessionConfiguration[] sessions, int targetSdkVersion); /** * Remap Camera Ids in the CameraService. * * Once this is in effect, all binder calls in the ICameraService that * use logicalCameraId should consult remapping state to arrive at the * correct cameraId to perform the operation on. * * Note: Before the new cameraIdRemapping state is applied, the previous * state is cleared. * * @param cameraIdRemapping the camera ids to remap. Sending an unpopulated * cameraIdRemapping object will result in clearing of any previous * cameraIdRemapping state in the camera service. */ void remapCameraIds(in CameraIdRemapping cameraIdRemapping); /** * Remove listener for changes to camera device and flashlight state. */ Loading
camera/ndk/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,7 @@ cc_test { shared_libs: [ "libcamera2ndk_vendor", "libcamera_metadata", "libhidlbase", "libmediandk", "libnativewindow", "libutils", Loading @@ -187,6 +188,7 @@ cc_test { ], static_libs: [ "android.hardware.camera.common@1.0-helper", "android.hidl.token@1.0", ], cflags: [ "-D__ANDROID_VNDK__", Loading
camera/ndk/impl/ACameraMetadata.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -400,7 +400,6 @@ ACameraMetadata::getConstEntry(uint32_t tag, ACameraMetadata_const_entry* entry) camera_metadata_ro_entry rawEntry = static_cast<const CameraMetadata*>(mData.get())->find(tag); if (rawEntry.count == 0) { ALOGE("%s: cannot find metadata tag %d", __FUNCTION__, tag); return ACAMERA_ERROR_METADATA_NOT_FOUND; } entry->tag = tag; Loading