Loading aidl/com/android/media/permission/PermissionEnum.aidl +3 −1 Original line number Diff line number Diff line Loading @@ -37,5 +37,7 @@ enum PermissionEnum { CAPTURE_TUNER_AUDIO_INPUT = 11, CAPTURE_VOICE_COMMUNICATION_OUTPUT = 12, BLUETOOTH_CONNECT = 13, ENUM_SIZE = 14, // Not for actual usage, used by Java BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION = 14, MODIFY_AUDIO_SETTINGS_PRIVILEGED = 15, ENUM_SIZE = 16, // Not for actual usage, used by Java } camera/Android.bp +7 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ cc_library { include_dirs: [ "frameworks/native/aidl/gui", "frameworks/native/libs/permission/aidl", "hardware/interfaces/common/fmq/aidl", "hardware/interfaces/common/aidl", ], }, Loading Loading @@ -112,6 +114,8 @@ cc_library { ], shared_libs: [ "android.hardware.common.fmq-V1-cpp", "android.hardware.common-V2-cpp", "camera_platform_flags_c_lib", "framework-permission-aidl-cpp", "lib-platform-compat-native-api", Loading @@ -136,6 +140,8 @@ cc_library { ], export_shared_lib_headers: [ "framework-permission-aidl-cpp", "android.hardware.common.fmq-V1-cpp", "android.hardware.common-V2-cpp", "libcamera_metadata", "libgui", "libnativewindow", Loading Loading @@ -187,6 +193,7 @@ filegroup { "aidl/android/hardware/camera2/ICameraInjectionCallback.aidl", "aidl/android/hardware/camera2/ICameraInjectionSession.aidl", "aidl/android/hardware/camera2/ICameraOfflineSession.aidl", "aidl/android/hardware/camera2/CameraMetadataInfo.aidl", ], path: "aidl", } Loading camera/Camera.cpp +14 −18 Original line number Diff line number Diff line Loading @@ -99,23 +99,21 @@ status_t Camera::unlock() return c->unlock(); } // pass the buffered IGraphicBufferProducer to the camera service status_t Camera::setPreviewTarget(const sp<IGraphicBufferProducer>& bufferProducer) { ALOGV("setPreviewTarget(%p)", bufferProducer.get()); // pass the Surface to the camera service status_t Camera::setPreviewTarget(const sp<SurfaceType>& target) { ALOGV("setPreviewTarget(%p)", target.get()); sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; ALOGD_IF(bufferProducer == 0, "app passed NULL surface"); return c->setPreviewTarget(bufferProducer); ALOGD_IF(target == 0, "app passed NULL surface"); return c->setPreviewTarget(target); } status_t Camera::setVideoTarget(const sp<IGraphicBufferProducer>& bufferProducer) { ALOGV("setVideoTarget(%p)", bufferProducer.get()); status_t Camera::setVideoTarget(const sp<SurfaceType>& target) { ALOGV("setVideoTarget(%p)", target.get()); sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; ALOGD_IF(bufferProducer == 0, "app passed NULL video surface"); return c->setVideoTarget(bufferProducer); ALOGD_IF(target == 0, "app passed NULL video surface"); return c->setVideoTarget(target); } // start preview mode Loading Loading @@ -272,12 +270,10 @@ void Camera::setPreviewCallbackFlags(int flag) c->setPreviewCallbackFlag(flag); } status_t Camera::setPreviewCallbackTarget( const sp<IGraphicBufferProducer>& callbackProducer) { status_t Camera::setPreviewCallbackTarget(const sp<SurfaceType>& target) { sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; return c->setPreviewCallbackTarget(callbackProducer); return c->setPreviewCallbackTarget(target); } status_t Camera::setAudioRestriction(int32_t mode) Loading camera/CameraUtils.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace android { const char *kCameraServiceDisabledProperty = "config.disable_cameraservice"; status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform) { int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform) { ALOGV("%s", __FUNCTION__); if (transform == NULL) { Loading Loading @@ -128,7 +128,9 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, * aspect ratio, or the preview will end up looking non-uniformly * stretched. */ if (enableTransformInverseDisplay) { flags |= NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY; } ALOGV("%s: final transform = 0x%x", __FUNCTION__, flags); Loading camera/CaptureResult.cpp +11 −22 Original line number Diff line number Diff line Loading @@ -98,7 +98,6 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel status_t res; mPhysicalCameraId = ""; mPhysicalCameraMetadata.clear(); String16 physicalCameraId; if ((res = parcel->readString16(&physicalCameraId)) != OK) { Loading @@ -107,10 +106,11 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel } mPhysicalCameraId = toStdString(physicalCameraId); if ((res = mPhysicalCameraMetadata.readFromParcel(parcel)) != OK) { if ((res = mCameraMetadataInfo.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res); return res; } return OK; } Loading @@ -121,11 +121,13 @@ status_t PhysicalCaptureResultInfo::writeToParcel(android::Parcel* parcel) const __FUNCTION__, res); return res; } if ((res = mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) { if ((res = mCameraMetadataInfo.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physical camera metadata to parcel: %d", __FUNCTION__, res); return res; } return OK; } Loading Loading @@ -178,20 +180,12 @@ status_t CaptureResult::readFromParcel(android::Parcel *parcel) { } for (int32_t i = 0; i < physicalMetadataCount; i++) { String16 cameraId; if ((res = parcel->readString16(&cameraId)) != OK) { ALOGE("%s: Failed to read camera id: %d", __FUNCTION__, res); return res; } CameraMetadata physicalMetadata; if ((res = physicalMetadata.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res); PhysicalCaptureResultInfo result; if ((res = result.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read physical result from parcel: %d", __FUNCTION__, res); return res; } mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), toStdString(cameraId), physicalMetadata); mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), result); } ALOGV("%s: Read physical metadata from parcel", __FUNCTION__); Loading Loading @@ -232,13 +226,8 @@ status_t CaptureResult::writeToParcel(android::Parcel *parcel) const { return BAD_VALUE; } for (const auto& physicalMetadata : mPhysicalMetadatas) { if ((res = parcel->writeString16(toString16(physicalMetadata.mPhysicalCameraId))) != OK) { ALOGE("%s: Failed to write physical camera ID to parcel: %d", __FUNCTION__, res); return res; } if ((res = physicalMetadata.mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physical camera metadata to parcel: %d", if ((res = physicalMetadata.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physicalMetadata to parcel: %d", __FUNCTION__, res); return res; } Loading Loading
aidl/com/android/media/permission/PermissionEnum.aidl +3 −1 Original line number Diff line number Diff line Loading @@ -37,5 +37,7 @@ enum PermissionEnum { CAPTURE_TUNER_AUDIO_INPUT = 11, CAPTURE_VOICE_COMMUNICATION_OUTPUT = 12, BLUETOOTH_CONNECT = 13, ENUM_SIZE = 14, // Not for actual usage, used by Java BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION = 14, MODIFY_AUDIO_SETTINGS_PRIVILEGED = 15, ENUM_SIZE = 16, // Not for actual usage, used by Java }
camera/Android.bp +7 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ cc_library { include_dirs: [ "frameworks/native/aidl/gui", "frameworks/native/libs/permission/aidl", "hardware/interfaces/common/fmq/aidl", "hardware/interfaces/common/aidl", ], }, Loading Loading @@ -112,6 +114,8 @@ cc_library { ], shared_libs: [ "android.hardware.common.fmq-V1-cpp", "android.hardware.common-V2-cpp", "camera_platform_flags_c_lib", "framework-permission-aidl-cpp", "lib-platform-compat-native-api", Loading @@ -136,6 +140,8 @@ cc_library { ], export_shared_lib_headers: [ "framework-permission-aidl-cpp", "android.hardware.common.fmq-V1-cpp", "android.hardware.common-V2-cpp", "libcamera_metadata", "libgui", "libnativewindow", Loading Loading @@ -187,6 +193,7 @@ filegroup { "aidl/android/hardware/camera2/ICameraInjectionCallback.aidl", "aidl/android/hardware/camera2/ICameraInjectionSession.aidl", "aidl/android/hardware/camera2/ICameraOfflineSession.aidl", "aidl/android/hardware/camera2/CameraMetadataInfo.aidl", ], path: "aidl", } Loading
camera/Camera.cpp +14 −18 Original line number Diff line number Diff line Loading @@ -99,23 +99,21 @@ status_t Camera::unlock() return c->unlock(); } // pass the buffered IGraphicBufferProducer to the camera service status_t Camera::setPreviewTarget(const sp<IGraphicBufferProducer>& bufferProducer) { ALOGV("setPreviewTarget(%p)", bufferProducer.get()); // pass the Surface to the camera service status_t Camera::setPreviewTarget(const sp<SurfaceType>& target) { ALOGV("setPreviewTarget(%p)", target.get()); sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; ALOGD_IF(bufferProducer == 0, "app passed NULL surface"); return c->setPreviewTarget(bufferProducer); ALOGD_IF(target == 0, "app passed NULL surface"); return c->setPreviewTarget(target); } status_t Camera::setVideoTarget(const sp<IGraphicBufferProducer>& bufferProducer) { ALOGV("setVideoTarget(%p)", bufferProducer.get()); status_t Camera::setVideoTarget(const sp<SurfaceType>& target) { ALOGV("setVideoTarget(%p)", target.get()); sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; ALOGD_IF(bufferProducer == 0, "app passed NULL video surface"); return c->setVideoTarget(bufferProducer); ALOGD_IF(target == 0, "app passed NULL video surface"); return c->setVideoTarget(target); } // start preview mode Loading Loading @@ -272,12 +270,10 @@ void Camera::setPreviewCallbackFlags(int flag) c->setPreviewCallbackFlag(flag); } status_t Camera::setPreviewCallbackTarget( const sp<IGraphicBufferProducer>& callbackProducer) { status_t Camera::setPreviewCallbackTarget(const sp<SurfaceType>& target) { sp<::android::hardware::ICamera> c = mCamera; if (c == 0) return NO_INIT; return c->setPreviewCallbackTarget(callbackProducer); return c->setPreviewCallbackTarget(target); } status_t Camera::setAudioRestriction(int32_t mode) Loading
camera/CameraUtils.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace android { const char *kCameraServiceDisabledProperty = "config.disable_cameraservice"; status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform) { int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform) { ALOGV("%s", __FUNCTION__); if (transform == NULL) { Loading Loading @@ -128,7 +128,9 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, * aspect ratio, or the preview will end up looking non-uniformly * stretched. */ if (enableTransformInverseDisplay) { flags |= NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY; } ALOGV("%s: final transform = 0x%x", __FUNCTION__, flags); Loading
camera/CaptureResult.cpp +11 −22 Original line number Diff line number Diff line Loading @@ -98,7 +98,6 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel status_t res; mPhysicalCameraId = ""; mPhysicalCameraMetadata.clear(); String16 physicalCameraId; if ((res = parcel->readString16(&physicalCameraId)) != OK) { Loading @@ -107,10 +106,11 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel } mPhysicalCameraId = toStdString(physicalCameraId); if ((res = mPhysicalCameraMetadata.readFromParcel(parcel)) != OK) { if ((res = mCameraMetadataInfo.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res); return res; } return OK; } Loading @@ -121,11 +121,13 @@ status_t PhysicalCaptureResultInfo::writeToParcel(android::Parcel* parcel) const __FUNCTION__, res); return res; } if ((res = mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) { if ((res = mCameraMetadataInfo.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physical camera metadata to parcel: %d", __FUNCTION__, res); return res; } return OK; } Loading Loading @@ -178,20 +180,12 @@ status_t CaptureResult::readFromParcel(android::Parcel *parcel) { } for (int32_t i = 0; i < physicalMetadataCount; i++) { String16 cameraId; if ((res = parcel->readString16(&cameraId)) != OK) { ALOGE("%s: Failed to read camera id: %d", __FUNCTION__, res); return res; } CameraMetadata physicalMetadata; if ((res = physicalMetadata.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res); PhysicalCaptureResultInfo result; if ((res = result.readFromParcel(parcel)) != OK) { ALOGE("%s: Failed to read physical result from parcel: %d", __FUNCTION__, res); return res; } mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), toStdString(cameraId), physicalMetadata); mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), result); } ALOGV("%s: Read physical metadata from parcel", __FUNCTION__); Loading Loading @@ -232,13 +226,8 @@ status_t CaptureResult::writeToParcel(android::Parcel *parcel) const { return BAD_VALUE; } for (const auto& physicalMetadata : mPhysicalMetadatas) { if ((res = parcel->writeString16(toString16(physicalMetadata.mPhysicalCameraId))) != OK) { ALOGE("%s: Failed to write physical camera ID to parcel: %d", __FUNCTION__, res); return res; } if ((res = physicalMetadata.mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physical camera metadata to parcel: %d", if ((res = physicalMetadata.writeToParcel(parcel)) != OK) { ALOGE("%s: Failed to write physicalMetadata to parcel: %d", __FUNCTION__, res); return res; } Loading