Loading services/camera/libcameraservice/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ cc_library_shared { "android.hardware.camera.device@3.5", "android.hardware.camera.device@3.6", "android.hardware.camera.device@3.7", "android.hardware.camera.device@3.8", "media_permission-aidl-cpp", ], Loading services/camera/libcameraservice/CameraService.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -910,6 +910,7 @@ Status CameraService::makeClient(const sp<CameraService>& cameraService, case CAMERA_DEVICE_API_VERSION_3_5: case CAMERA_DEVICE_API_VERSION_3_6: case CAMERA_DEVICE_API_VERSION_3_7: case CAMERA_DEVICE_API_VERSION_3_8: if (effectiveApiLevel == API_1) { // Camera1 API route sp<ICameraClient> tmp = static_cast<ICameraClient*>(cameraCb.get()); *client = new Camera2Client(cameraService, tmp, packageName, featureId, Loading Loading @@ -2545,6 +2546,7 @@ Status CameraService::supportsCameraApi(const String16& cameraId, int apiVersion case CAMERA_DEVICE_API_VERSION_3_5: case CAMERA_DEVICE_API_VERSION_3_6: case CAMERA_DEVICE_API_VERSION_3_7: case CAMERA_DEVICE_API_VERSION_3_8: ALOGV("%s: Camera id %s uses HAL3.2 or newer, supports api1/api2 directly", __FUNCTION__, id.string()); *isSupported = true; Loading services/camera/libcameraservice/common/CameraProviderManager.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ enum SystemCameraKind { #define CAMERA_DEVICE_API_VERSION_3_5 HARDWARE_DEVICE_API_VERSION(3, 5) #define CAMERA_DEVICE_API_VERSION_3_6 HARDWARE_DEVICE_API_VERSION(3, 6) #define CAMERA_DEVICE_API_VERSION_3_7 HARDWARE_DEVICE_API_VERSION(3, 7) #define CAMERA_DEVICE_API_VERSION_3_8 HARDWARE_DEVICE_API_VERSION(3, 8) /** * A manager for all camera providers available on an Android device. Loading services/camera/libcameraservice/device3/Camera3Device.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -1176,6 +1176,16 @@ hardware::Return<void> Camera3Device::processCaptureResult( hardware::Return<void> Camera3Device::notify( const hardware::hidl_vec<hardware::camera::device::V3_2::NotifyMsg>& msgs) { return notifyHelper<hardware::camera::device::V3_2::NotifyMsg>(msgs); } hardware::Return<void> Camera3Device::notify_3_8( const hardware::hidl_vec<hardware::camera::device::V3_8::NotifyMsg>& msgs) { return notifyHelper<hardware::camera::device::V3_8::NotifyMsg>(msgs); } template<typename NotifyMsgType> hardware::Return<void> Camera3Device::notifyHelper(const hardware::hidl_vec<NotifyMsgType>& msgs) { // Ideally we should grab mLock, but that can lead to deadlock, and // it's not super important to get up to date value of mStatus for this // warning print, hence skipping the lock here Loading Loading @@ -5469,7 +5479,8 @@ void Camera3Device::RequestThread::cleanUpFailedRequests(bool sendRequestError) outputBuffers->editItemAt(i).acquire_fence = -1; } outputBuffers->editItemAt(i).status = CAMERA_BUFFER_STATUS_ERROR; captureRequest->mOutputStreams.editItemAt(i)->returnBuffer((*outputBuffers)[i], 0, captureRequest->mOutputStreams.editItemAt(i)->returnBuffer((*outputBuffers)[i], /*timestamp*/0, /*readoutTimestamp*/0, /*timestampIncreasing*/true, std::vector<size_t> (), captureRequest->mResultExtras.frameNumber); } Loading services/camera/libcameraservice/device3/Camera3Device.h +10 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include <android/hardware/camera/device/3.2/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.4/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.5/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.8/ICameraDeviceCallback.h> #include <fmq/MessageQueue.h> #include <camera/CaptureResult.h> Loading Loading @@ -83,7 +84,7 @@ class Camera3StreamInterface; */ class Camera3Device : public CameraDeviceBase, virtual public hardware::camera::device::V3_5::ICameraDeviceCallback, virtual public hardware::camera::device::V3_8::ICameraDeviceCallback, public camera3::SetErrorInterface, public camera3::InflightRequestUpdateInterface, public camera3::RequestBufferInterface, Loading Loading @@ -642,6 +643,14 @@ class Camera3Device : const hardware::hidl_vec< hardware::camera::device::V3_2::StreamBuffer>& buffers) override; hardware::Return<void> notify_3_8( const hardware::hidl_vec< hardware::camera::device::V3_8::NotifyMsg>& msgs) override; template<typename NotifyMsgType> hardware::Return<void> notifyHelper( const hardware::hidl_vec<NotifyMsgType>& msgs); // Handle one notify message void notify(const hardware::camera::device::V3_2::NotifyMsg& msg); Loading Loading
services/camera/libcameraservice/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ cc_library_shared { "android.hardware.camera.device@3.5", "android.hardware.camera.device@3.6", "android.hardware.camera.device@3.7", "android.hardware.camera.device@3.8", "media_permission-aidl-cpp", ], Loading
services/camera/libcameraservice/CameraService.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -910,6 +910,7 @@ Status CameraService::makeClient(const sp<CameraService>& cameraService, case CAMERA_DEVICE_API_VERSION_3_5: case CAMERA_DEVICE_API_VERSION_3_6: case CAMERA_DEVICE_API_VERSION_3_7: case CAMERA_DEVICE_API_VERSION_3_8: if (effectiveApiLevel == API_1) { // Camera1 API route sp<ICameraClient> tmp = static_cast<ICameraClient*>(cameraCb.get()); *client = new Camera2Client(cameraService, tmp, packageName, featureId, Loading Loading @@ -2545,6 +2546,7 @@ Status CameraService::supportsCameraApi(const String16& cameraId, int apiVersion case CAMERA_DEVICE_API_VERSION_3_5: case CAMERA_DEVICE_API_VERSION_3_6: case CAMERA_DEVICE_API_VERSION_3_7: case CAMERA_DEVICE_API_VERSION_3_8: ALOGV("%s: Camera id %s uses HAL3.2 or newer, supports api1/api2 directly", __FUNCTION__, id.string()); *isSupported = true; Loading
services/camera/libcameraservice/common/CameraProviderManager.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ enum SystemCameraKind { #define CAMERA_DEVICE_API_VERSION_3_5 HARDWARE_DEVICE_API_VERSION(3, 5) #define CAMERA_DEVICE_API_VERSION_3_6 HARDWARE_DEVICE_API_VERSION(3, 6) #define CAMERA_DEVICE_API_VERSION_3_7 HARDWARE_DEVICE_API_VERSION(3, 7) #define CAMERA_DEVICE_API_VERSION_3_8 HARDWARE_DEVICE_API_VERSION(3, 8) /** * A manager for all camera providers available on an Android device. Loading
services/camera/libcameraservice/device3/Camera3Device.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -1176,6 +1176,16 @@ hardware::Return<void> Camera3Device::processCaptureResult( hardware::Return<void> Camera3Device::notify( const hardware::hidl_vec<hardware::camera::device::V3_2::NotifyMsg>& msgs) { return notifyHelper<hardware::camera::device::V3_2::NotifyMsg>(msgs); } hardware::Return<void> Camera3Device::notify_3_8( const hardware::hidl_vec<hardware::camera::device::V3_8::NotifyMsg>& msgs) { return notifyHelper<hardware::camera::device::V3_8::NotifyMsg>(msgs); } template<typename NotifyMsgType> hardware::Return<void> Camera3Device::notifyHelper(const hardware::hidl_vec<NotifyMsgType>& msgs) { // Ideally we should grab mLock, but that can lead to deadlock, and // it's not super important to get up to date value of mStatus for this // warning print, hence skipping the lock here Loading Loading @@ -5469,7 +5479,8 @@ void Camera3Device::RequestThread::cleanUpFailedRequests(bool sendRequestError) outputBuffers->editItemAt(i).acquire_fence = -1; } outputBuffers->editItemAt(i).status = CAMERA_BUFFER_STATUS_ERROR; captureRequest->mOutputStreams.editItemAt(i)->returnBuffer((*outputBuffers)[i], 0, captureRequest->mOutputStreams.editItemAt(i)->returnBuffer((*outputBuffers)[i], /*timestamp*/0, /*readoutTimestamp*/0, /*timestampIncreasing*/true, std::vector<size_t> (), captureRequest->mResultExtras.frameNumber); } Loading
services/camera/libcameraservice/device3/Camera3Device.h +10 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include <android/hardware/camera/device/3.2/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.4/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.5/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.8/ICameraDeviceCallback.h> #include <fmq/MessageQueue.h> #include <camera/CaptureResult.h> Loading Loading @@ -83,7 +84,7 @@ class Camera3StreamInterface; */ class Camera3Device : public CameraDeviceBase, virtual public hardware::camera::device::V3_5::ICameraDeviceCallback, virtual public hardware::camera::device::V3_8::ICameraDeviceCallback, public camera3::SetErrorInterface, public camera3::InflightRequestUpdateInterface, public camera3::RequestBufferInterface, Loading Loading @@ -642,6 +643,14 @@ class Camera3Device : const hardware::hidl_vec< hardware::camera::device::V3_2::StreamBuffer>& buffers) override; hardware::Return<void> notify_3_8( const hardware::hidl_vec< hardware::camera::device::V3_8::NotifyMsg>& msgs) override; template<typename NotifyMsgType> hardware::Return<void> notifyHelper( const hardware::hidl_vec<NotifyMsgType>& msgs); // Handle one notify message void notify(const hardware::camera::device::V3_2::NotifyMsg& msg); Loading