Loading camera/device/3.6/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ hidl_interface { }, srcs: [ "types.hal", "ICameraDevice.hal", "ICameraDeviceSession.hal", "ICameraOfflineSession.hal", ], Loading camera/device/3.6/ICameraDevice.hal 0 → 100644 +31 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 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.camera.device@3.6; import @3.5::ICameraDevice; /** * Camera device interface * * Supports the android.hardware.Camera API, and the android.hardware.camera2 * API at LIMITED or better hardware level. * * ICameraDevice.open() must return @3.2::ICameraDeviceSession or * @3.5::ICameraDeviceSession or @3.6::ICameraDeviceSession. */ interface ICameraDevice extends @3.5::ICameraDevice { }; camera/device/3.6/default/include/ext_device_v3_6_impl/ExternalCameraDevice_3_6.h +50 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #ifndef ANDROID_HARDWARE_CAMERA_DEVICE_V3_6_EXTCAMERADEVICE_H #define ANDROID_HARDWARE_CAMERA_DEVICE_V3_6_EXTCAMERADEVICE_H #include <android/hardware/camera/device/3.6/ICameraDevice.h> #include "ExternalCameraDeviceSession.h" #include <../../../../3.5/default/include/ext_device_v3_5_impl/ExternalCameraDevice_3_5.h> Loading @@ -28,7 +30,7 @@ namespace V3_6 { namespace implementation { using namespace ::android::hardware::camera::device; using ::android::hardware::camera::device::V3_5::ICameraDevice; using ::android::hardware::camera::device::V3_6::ICameraDevice; using ::android::hardware::camera::common::V1_0::CameraResourceCost; using ::android::hardware::camera::common::V1_0::TorchMode; using ::android::hardware::camera::common::V1_0::Status; Loading @@ -53,6 +55,10 @@ struct ExternalCameraDevice : public V3_5::implementation::ExternalCameraDevice ExternalCameraDevice(const std::string& cameraId, const ExternalCameraConfig& cfg); virtual ~ExternalCameraDevice(); virtual sp<V3_2::ICameraDevice> getInterface() override { return new TrampolineDeviceInterface_3_6(this); } protected: virtual sp<V3_4::implementation::ExternalCameraDeviceSession> createSession( const sp<V3_2::ICameraDeviceCallback>&, Loading @@ -65,6 +71,49 @@ protected: virtual status_t initAvailableCapabilities( ::android::hardware::camera::common::V1_0::helper::CameraMetadata*) override; private: struct TrampolineDeviceInterface_3_6 : public ICameraDevice { TrampolineDeviceInterface_3_6(sp<ExternalCameraDevice> parent) : mParent(parent) {} virtual Return<void> getResourceCost(V3_2::ICameraDevice::getResourceCost_cb _hidl_cb) override { return mParent->getResourceCost(_hidl_cb); } virtual Return<void> getCameraCharacteristics( V3_2::ICameraDevice::getCameraCharacteristics_cb _hidl_cb) override { return mParent->getCameraCharacteristics(_hidl_cb); } virtual Return<Status> setTorchMode(TorchMode mode) override { return mParent->setTorchMode(mode); } virtual Return<void> open(const sp<V3_2::ICameraDeviceCallback>& callback, V3_2::ICameraDevice::open_cb _hidl_cb) override { return mParent->open(callback, _hidl_cb); } virtual Return<void> dumpState(const hidl_handle& fd) override { return mParent->dumpState(fd); } virtual Return<void> getPhysicalCameraCharacteristics(const hidl_string& physicalCameraId, V3_5::ICameraDevice::getPhysicalCameraCharacteristics_cb _hidl_cb) override { return mParent->getPhysicalCameraCharacteristics(physicalCameraId, _hidl_cb); } virtual Return<void> isStreamCombinationSupported( const V3_4::StreamConfiguration& streams, V3_5::ICameraDevice::isStreamCombinationSupported_cb _hidl_cb) override { return mParent->isStreamCombinationSupported(streams, _hidl_cb); } private: sp<ExternalCameraDevice> mParent; }; }; } // namespace implementation Loading camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <android/hardware/camera/device/3.5/ICameraDevice.h> #include <android/hardware/camera/device/3.5/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.5/ICameraDeviceSession.h> #include <android/hardware/camera/device/3.6/ICameraDevice.h> #include <android/hardware/camera/device/3.6/ICameraDeviceSession.h> #include <android/hardware/camera/metadata/3.4/types.h> #include <android/hardware/camera/provider/2.4/ICameraProvider.h> Loading Loading @@ -5719,17 +5720,19 @@ void CameraHidlTest::configureOfflineStillStream(const std::string &name, ASSERT_NE(nullptr, useHalBufManager); std::vector<AvailableStream> outputStreams; ::android::sp<ICameraDevice> cameraDevice; ::android::sp<device::V3_6::ICameraDevice> cameraDevice; ALOGI("configureStreams: Testing camera device %s", name.c_str()); Return<void> ret; ret = provider->getCameraDeviceInterface_V3_x( name, [&](auto status, const auto& device) { [&cameraDevice](auto status, const auto& device) { ALOGI("getCameraDeviceInterface_V3_x returns status:%d", (int)status); ASSERT_EQ(Status::OK, status); ASSERT_NE(device, nullptr); cameraDevice = device; auto castResult = device::V3_6::ICameraDevice::castFrom(device); ASSERT_TRUE(castResult.isOk()); cameraDevice = castResult; }); ASSERT_TRUE(ret.isOk()); Loading current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -636,6 +636,7 @@ ae6315fd42196478ac08441cb489d854118001bca5b9b9fd58af5110952be30e android.hardwar 40ab2c6866c18d32baf6e49e3053949e79601f56963a791e93e68b9ee18f718d android.hardware.bluetooth@1.1::IBluetoothHciCallbacks 07d0a252b2d8fa35887908a996ba395cf392968395fc30afab791f46e0c22a52 android.hardware.boot@1.1::IBootControl 74049a402be913963edfdd80828a53736570e9d8124a1bf18166b6ed46a6b0ab android.hardware.boot@1.1::types b8c63679e1a3874b356f3e691aecce1191d38f59063cf2ed2dce8a9d4cabf00e android.hardware.camera.device@3.6::ICameraDevice e88840e0558439cb54837514ddccd43877094951758f367e9c638084eb7455a6 android.hardware.camera.provider@2.6::ICameraProvider 8f8d9463508ff9cae88eb35c429fd0e2dbca0ca8f5de7fdf836cc0c4370becb6 android.hardware.camera.provider@2.6::ICameraProviderCallback c1aa508d00b66ed5feefea398fd5edf28fa651ac89773adad7dfda4e0a73a952 android.hardware.cas@1.2::ICas Loading Loading
camera/device/3.6/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ hidl_interface { }, srcs: [ "types.hal", "ICameraDevice.hal", "ICameraDeviceSession.hal", "ICameraOfflineSession.hal", ], Loading
camera/device/3.6/ICameraDevice.hal 0 → 100644 +31 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 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.camera.device@3.6; import @3.5::ICameraDevice; /** * Camera device interface * * Supports the android.hardware.Camera API, and the android.hardware.camera2 * API at LIMITED or better hardware level. * * ICameraDevice.open() must return @3.2::ICameraDeviceSession or * @3.5::ICameraDeviceSession or @3.6::ICameraDeviceSession. */ interface ICameraDevice extends @3.5::ICameraDevice { };
camera/device/3.6/default/include/ext_device_v3_6_impl/ExternalCameraDevice_3_6.h +50 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #ifndef ANDROID_HARDWARE_CAMERA_DEVICE_V3_6_EXTCAMERADEVICE_H #define ANDROID_HARDWARE_CAMERA_DEVICE_V3_6_EXTCAMERADEVICE_H #include <android/hardware/camera/device/3.6/ICameraDevice.h> #include "ExternalCameraDeviceSession.h" #include <../../../../3.5/default/include/ext_device_v3_5_impl/ExternalCameraDevice_3_5.h> Loading @@ -28,7 +30,7 @@ namespace V3_6 { namespace implementation { using namespace ::android::hardware::camera::device; using ::android::hardware::camera::device::V3_5::ICameraDevice; using ::android::hardware::camera::device::V3_6::ICameraDevice; using ::android::hardware::camera::common::V1_0::CameraResourceCost; using ::android::hardware::camera::common::V1_0::TorchMode; using ::android::hardware::camera::common::V1_0::Status; Loading @@ -53,6 +55,10 @@ struct ExternalCameraDevice : public V3_5::implementation::ExternalCameraDevice ExternalCameraDevice(const std::string& cameraId, const ExternalCameraConfig& cfg); virtual ~ExternalCameraDevice(); virtual sp<V3_2::ICameraDevice> getInterface() override { return new TrampolineDeviceInterface_3_6(this); } protected: virtual sp<V3_4::implementation::ExternalCameraDeviceSession> createSession( const sp<V3_2::ICameraDeviceCallback>&, Loading @@ -65,6 +71,49 @@ protected: virtual status_t initAvailableCapabilities( ::android::hardware::camera::common::V1_0::helper::CameraMetadata*) override; private: struct TrampolineDeviceInterface_3_6 : public ICameraDevice { TrampolineDeviceInterface_3_6(sp<ExternalCameraDevice> parent) : mParent(parent) {} virtual Return<void> getResourceCost(V3_2::ICameraDevice::getResourceCost_cb _hidl_cb) override { return mParent->getResourceCost(_hidl_cb); } virtual Return<void> getCameraCharacteristics( V3_2::ICameraDevice::getCameraCharacteristics_cb _hidl_cb) override { return mParent->getCameraCharacteristics(_hidl_cb); } virtual Return<Status> setTorchMode(TorchMode mode) override { return mParent->setTorchMode(mode); } virtual Return<void> open(const sp<V3_2::ICameraDeviceCallback>& callback, V3_2::ICameraDevice::open_cb _hidl_cb) override { return mParent->open(callback, _hidl_cb); } virtual Return<void> dumpState(const hidl_handle& fd) override { return mParent->dumpState(fd); } virtual Return<void> getPhysicalCameraCharacteristics(const hidl_string& physicalCameraId, V3_5::ICameraDevice::getPhysicalCameraCharacteristics_cb _hidl_cb) override { return mParent->getPhysicalCameraCharacteristics(physicalCameraId, _hidl_cb); } virtual Return<void> isStreamCombinationSupported( const V3_4::StreamConfiguration& streams, V3_5::ICameraDevice::isStreamCombinationSupported_cb _hidl_cb) override { return mParent->isStreamCombinationSupported(streams, _hidl_cb); } private: sp<ExternalCameraDevice> mParent; }; }; } // namespace implementation Loading
camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <android/hardware/camera/device/3.5/ICameraDevice.h> #include <android/hardware/camera/device/3.5/ICameraDeviceCallback.h> #include <android/hardware/camera/device/3.5/ICameraDeviceSession.h> #include <android/hardware/camera/device/3.6/ICameraDevice.h> #include <android/hardware/camera/device/3.6/ICameraDeviceSession.h> #include <android/hardware/camera/metadata/3.4/types.h> #include <android/hardware/camera/provider/2.4/ICameraProvider.h> Loading Loading @@ -5719,17 +5720,19 @@ void CameraHidlTest::configureOfflineStillStream(const std::string &name, ASSERT_NE(nullptr, useHalBufManager); std::vector<AvailableStream> outputStreams; ::android::sp<ICameraDevice> cameraDevice; ::android::sp<device::V3_6::ICameraDevice> cameraDevice; ALOGI("configureStreams: Testing camera device %s", name.c_str()); Return<void> ret; ret = provider->getCameraDeviceInterface_V3_x( name, [&](auto status, const auto& device) { [&cameraDevice](auto status, const auto& device) { ALOGI("getCameraDeviceInterface_V3_x returns status:%d", (int)status); ASSERT_EQ(Status::OK, status); ASSERT_NE(device, nullptr); cameraDevice = device; auto castResult = device::V3_6::ICameraDevice::castFrom(device); ASSERT_TRUE(castResult.isOk()); cameraDevice = castResult; }); ASSERT_TRUE(ret.isOk()); Loading
current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -636,6 +636,7 @@ ae6315fd42196478ac08441cb489d854118001bca5b9b9fd58af5110952be30e android.hardwar 40ab2c6866c18d32baf6e49e3053949e79601f56963a791e93e68b9ee18f718d android.hardware.bluetooth@1.1::IBluetoothHciCallbacks 07d0a252b2d8fa35887908a996ba395cf392968395fc30afab791f46e0c22a52 android.hardware.boot@1.1::IBootControl 74049a402be913963edfdd80828a53736570e9d8124a1bf18166b6ed46a6b0ab android.hardware.boot@1.1::types b8c63679e1a3874b356f3e691aecce1191d38f59063cf2ed2dce8a9d4cabf00e android.hardware.camera.device@3.6::ICameraDevice e88840e0558439cb54837514ddccd43877094951758f367e9c638084eb7455a6 android.hardware.camera.provider@2.6::ICameraProvider 8f8d9463508ff9cae88eb35c429fd0e2dbca0ca8f5de7fdf836cc0c4370becb6 android.hardware.camera.provider@2.6::ICameraProviderCallback c1aa508d00b66ed5feefea398fd5edf28fa651ac89773adad7dfda4e0a73a952 android.hardware.cas@1.2::ICas Loading