Loading audio/4.0/config/audio_policy_configuration.xsd +5 −7 Original line number Diff line number Diff line Loading @@ -218,24 +218,20 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_EARPIECE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER_SAFE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADPHONE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_SCO"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_A2DP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_DIGITAL"/> <xs:enumeration value="AUDIO_DEVICE_OUT_HDMI"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_ACCESSORY"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_DEVICE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_USB"/> <xs:enumeration value="AUDIO_DEVICE_OUT_REMOTE_SUBMIX"/> <xs:enumeration value="AUDIO_DEVICE_OUT_TELEPHONY_TX"/> <xs:enumeration value="AUDIO_DEVICE_OUT_LINE"/> Loading @@ -243,10 +239,13 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_SPDIF"/> <xs:enumeration value="AUDIO_DEVICE_OUT_FM"/> <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_LINE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER_SAFE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_IP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BUS"/> <xs:enumeration value="AUDIO_DEVICE_OUT_PROXY"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_HEARING_AID"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ECHO_CANCELLER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_STUB"/> Loading @@ -255,19 +254,17 @@ <xs:enumeration value="AUDIO_DEVICE_IN_AMBIENT"/> <xs:enumeration value="AUDIO_DEVICE_IN_BUILTIN_MIC"/> <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_ALL_SCO"/> <xs:enumeration value="AUDIO_DEVICE_IN_WIRED_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_AUX_DIGITAL"/> <xs:enumeration value="AUDIO_DEVICE_IN_HDMI"/> <xs:enumeration value="AUDIO_DEVICE_IN_TELEPHONY_RX"/> <xs:enumeration value="AUDIO_DEVICE_IN_VOICE_CALL"/> <xs:enumeration value="AUDIO_DEVICE_IN_TELEPHONY_RX"/> <xs:enumeration value="AUDIO_DEVICE_IN_BACK_MIC"/> <xs:enumeration value="AUDIO_DEVICE_IN_REMOTE_SUBMIX"/> <xs:enumeration value="AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_ACCESSORY"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_DEVICE"/> <xs:enumeration value="AUDIO_DEVICE_IN_ALL_USB"/> <xs:enumeration value="AUDIO_DEVICE_IN_FM_TUNER"/> <xs:enumeration value="AUDIO_DEVICE_IN_TV_TUNER"/> <xs:enumeration value="AUDIO_DEVICE_IN_LINE"/> Loading @@ -278,6 +275,7 @@ <xs:enumeration value="AUDIO_DEVICE_IN_BUS"/> <xs:enumeration value="AUDIO_DEVICE_IN_PROXY"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_BLE"/> <xs:enumeration value="AUDIO_DEVICE_IN_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_IN_STUB"/> </xs:restriction> Loading audio/effect/4.0/types.hal +10 −10 Original line number Diff line number Diff line Loading @@ -203,7 +203,7 @@ struct EffectDescriptor { Uuid type; // UUID of to the OpenSL ES interface implemented // by this effect Uuid uuid; // UUID for this particular implementation EffectFlags flags; // effect engine capabilities/requirements flags bitfield<EffectFlags> flags; // effect engine capabilities/requirements flags uint16_t cpuLoad; // CPU load indication expressed in 0.1 MIPS units // as estimated on an ARM9E core (ARMv5TE) with 0 WS uint16_t memoryUsage; // data memory usage expressed in KB and includes Loading audio/effect/all-versions/default/include/effect/all-versions/default/Conversions.impl.h +4 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,10 @@ #include <memory.h> #include <stdio.h> #include <common/all-versions/VersionUtils.h> using ::android::hardware::audio::common::AUDIO_HAL_VERSION::HidlUtils; using ::android::hardware::audio::common::utils::mkEnumConverter; namespace android { namespace hardware { Loading @@ -32,7 +35,7 @@ void effectDescriptorFromHal(const effect_descriptor_t& halDescriptor, EffectDescriptor* descriptor) { HidlUtils::uuidFromHal(halDescriptor.type, &descriptor->type); HidlUtils::uuidFromHal(halDescriptor.uuid, &descriptor->uuid); descriptor->flags = EffectFlags(halDescriptor.flags); descriptor->flags = mkEnumConverter<EffectFlags>(halDescriptor.flags); descriptor->cpuLoad = halDescriptor.cpuLoad; descriptor->memoryUsage = halDescriptor.memoryUsage; memcpy(descriptor->name.data(), halDescriptor.name, descriptor->name.size()); Loading camera/provider/2.4/vts/functional/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -38,8 +38,11 @@ cc_test { "android.hardware.camera.device@3.3", "android.hardware.camera.device@3.4", "android.hardware.camera.provider@2.4", "android.hardware.graphics.allocator@2.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.mapper@2.0", "android.hidl.allocator@1.0", "libgrallocusage", "libhidlmemory", ], } camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +85 −37 Original line number Diff line number Diff line Loading @@ -48,6 +48,13 @@ #include <system/camera_metadata.h> #include <ui/GraphicBuffer.h> #include <android/hardware/graphics/allocator/2.0/IAllocator.h> #include <android/hardware/graphics/mapper/2.0/IMapper.h> #include <android/hardware/graphics/mapper/2.0/types.h> #include <android/hidl/allocator/1.0/IAllocator.h> #include <android/hidl/memory/1.0/IMapper.h> #include <android/hidl/memory/1.0/IMemory.h> #include <VtsHalHidlTargetTestBase.h> #include <VtsHalHidlTargetTestEnvBase.h> Loading Loading @@ -105,6 +112,9 @@ using ::android::hardware::camera::device::V1_0::FrameCallbackFlag; using ::android::hardware::camera::device::V1_0::HandleTimestampMessage; using ::android::hardware::MessageQueue; using ::android::hardware::kSynchronizedReadWrite; using ::android::hidl::allocator::V1_0::IAllocator; using ::android::hidl::memory::V1_0::IMemory; using ::android::hidl::memory::V1_0::IMapper; using ResultMetadataQueue = MessageQueue<uint8_t, kSynchronizedReadWrite>; using ::android::hidl::manager::V1_0::IServiceManager; Loading Loading @@ -621,6 +631,8 @@ public: void setParameters( const sp<::android::hardware::camera::device::V1_0::ICameraDevice> &device, const CameraParameters &cameraParams); void allocateGraphicBuffer(uint32_t width, uint32_t height, uint64_t usage, PixelFormat format, hidl_handle *buffer_handle /*out*/); void waitForFrameLocked(DataCallbackMsg msgFrame, std::unique_lock<std::mutex> &l); void openEmptyDeviceSession(const std::string &name, Loading Loading @@ -3297,15 +3309,15 @@ TEST_F(CameraHidlTest, processCaptureRequestPreview) { }); ASSERT_TRUE(ret.isOk()); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, gb.get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -3497,20 +3509,20 @@ TEST_F(CameraHidlTest, processMultiCaptureRequestPreview) { InFlightRequest inflightReq = {static_cast<ssize_t> (halStreamConfig.streams.size()), false, supportsPartialResults, partialResultCount, resultQueue}; std::vector<sp<GraphicBuffer>> graphicBuffers; std::vector<hidl_handle> graphicBuffers; graphicBuffers.reserve(halStreamConfig.streams.size()); ::android::hardware::hidl_vec<StreamBuffer> outputBuffers; outputBuffers.resize(halStreamConfig.streams.size()); size_t k = 0; for (const auto& halStream : halStreamConfig.streams) { sp<GraphicBuffer> gb = new GraphicBuffer(previewStream.width, previewStream.height, static_cast<int32_t>(halStream.v3_3.v3_2.overrideFormat), 1, android_convertGralloc1To0Usage( halStream.v3_3.v3_2.producerUsage, halStream.v3_3.v3_2.consumerUsage)); ASSERT_NE(nullptr, gb.get()); graphicBuffers.push_back(gb); outputBuffers[k] = {halStream.v3_3.v3_2.id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), BufferStatus::OK, nullptr, nullptr}; hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStream.v3_3.v3_2.producerUsage, halStream.v3_3.v3_2.consumerUsage), halStream.v3_3.v3_2.overrideFormat, &buffer_handle); graphicBuffers.push_back(buffer_handle); outputBuffers[k] = {halStream.v3_3.v3_2.id, bufferId, buffer_handle, BufferStatus::OK, nullptr, nullptr}; bufferId++; k++; } Loading Loading @@ -3689,7 +3701,7 @@ TEST_F(CameraHidlTest, processCaptureRequestBurstISO) { ::android::hardware::camera::common::V1_0::helper::CameraMetadata requestMeta; StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, nullptr}; sp<GraphicBuffer> buffers[kBurstFrameCount]; hidl_handle buffers[kBurstFrameCount]; StreamBuffer outputBuffers[kBurstFrameCount]; CaptureRequest requests[kBurstFrameCount]; InFlightRequest inflightReqs[kBurstFrameCount]; Loading @@ -3699,15 +3711,13 @@ TEST_F(CameraHidlTest, processCaptureRequestBurstISO) { std::unique_lock<std::mutex> l(mLock); isoValues[i] = ((i % 2) == 0) ? isoRange.data.i32[0] : isoRange.data.i32[1]; buffers[i] = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, buffers[i].get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffers[i]); outputBuffers[i] = {halStreamConfig.streams[0].id, bufferId + i, hidl_handle( buffers[i]->getNativeBuffer()->handle), BufferStatus::OK, nullptr, nullptr}; buffers[i], BufferStatus::OK, nullptr, nullptr}; requestMeta.append(reinterpret_cast<camera_metadata_t *> (settings.data())); // Disable all 3A routines Loading Loading @@ -3795,15 +3805,15 @@ TEST_F(CameraHidlTest, processCaptureRequestInvalidSinglePreview) { &supportsPartialResults /*out*/, &partialResultCount /*out*/); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -3953,15 +3963,15 @@ TEST_F(CameraHidlTest, flushPreviewRequest) { }); ASSERT_TRUE(ret.isOk()); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, gb.get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -4794,6 +4804,44 @@ void CameraHidlTest::setParameters( ASSERT_EQ(Status::OK, returnStatus); } void CameraHidlTest::allocateGraphicBuffer(uint32_t width, uint32_t height, uint64_t usage, PixelFormat format, hidl_handle *buffer_handle /*out*/) { ASSERT_NE(buffer_handle, nullptr); sp<android::hardware::graphics::allocator::V2_0::IAllocator> allocator = android::hardware::graphics::allocator::V2_0::IAllocator::getService(); ASSERT_NE(nullptr, allocator.get()); sp<android::hardware::graphics::mapper::V2_0::IMapper> mapper = android::hardware::graphics::mapper::V2_0::IMapper::getService(); ASSERT_NE(mapper.get(), nullptr); android::hardware::graphics::mapper::V2_0::IMapper::BufferDescriptorInfo descriptorInfo {}; descriptorInfo.width = width; descriptorInfo.height = height; descriptorInfo.layerCount = 1; descriptorInfo.format = format; descriptorInfo.usage = usage; ::android::hardware::hidl_vec<uint32_t> descriptor; auto ret = mapper->createDescriptor( descriptorInfo, [&descriptor](android::hardware::graphics::mapper::V2_0::Error err, ::android::hardware::hidl_vec<uint32_t> desc) { ASSERT_EQ(err, android::hardware::graphics::mapper::V2_0::Error::NONE); descriptor = desc; }); ASSERT_TRUE(ret.isOk()); ret = allocator->allocate(descriptor, 1u, [&](android::hardware::graphics::mapper::V2_0::Error err, uint32_t /*stride*/, const ::android::hardware::hidl_vec<::android::hardware::hidl_handle>& buffers) { ASSERT_EQ(android::hardware::graphics::mapper::V2_0::Error::NONE, err); ASSERT_EQ(buffers.size(), 1u); *buffer_handle = buffers[0]; }); ASSERT_TRUE(ret.isOk()); } int main(int argc, char **argv) { ::testing::AddGlobalTestEnvironment(CameraHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); Loading Loading
audio/4.0/config/audio_policy_configuration.xsd +5 −7 Original line number Diff line number Diff line Loading @@ -218,24 +218,20 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_EARPIECE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER_SAFE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADPHONE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_SCO"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_A2DP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_DIGITAL"/> <xs:enumeration value="AUDIO_DEVICE_OUT_HDMI"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_ACCESSORY"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_DEVICE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ALL_USB"/> <xs:enumeration value="AUDIO_DEVICE_OUT_REMOTE_SUBMIX"/> <xs:enumeration value="AUDIO_DEVICE_OUT_TELEPHONY_TX"/> <xs:enumeration value="AUDIO_DEVICE_OUT_LINE"/> Loading @@ -243,10 +239,13 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_SPDIF"/> <xs:enumeration value="AUDIO_DEVICE_OUT_FM"/> <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_LINE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER_SAFE"/> <xs:enumeration value="AUDIO_DEVICE_OUT_IP"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BUS"/> <xs:enumeration value="AUDIO_DEVICE_OUT_PROXY"/> <xs:enumeration value="AUDIO_DEVICE_OUT_USB_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_HEARING_AID"/> <xs:enumeration value="AUDIO_DEVICE_OUT_ECHO_CANCELLER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_STUB"/> Loading @@ -255,19 +254,17 @@ <xs:enumeration value="AUDIO_DEVICE_IN_AMBIENT"/> <xs:enumeration value="AUDIO_DEVICE_IN_BUILTIN_MIC"/> <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_ALL_SCO"/> <xs:enumeration value="AUDIO_DEVICE_IN_WIRED_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_AUX_DIGITAL"/> <xs:enumeration value="AUDIO_DEVICE_IN_HDMI"/> <xs:enumeration value="AUDIO_DEVICE_IN_TELEPHONY_RX"/> <xs:enumeration value="AUDIO_DEVICE_IN_VOICE_CALL"/> <xs:enumeration value="AUDIO_DEVICE_IN_TELEPHONY_RX"/> <xs:enumeration value="AUDIO_DEVICE_IN_BACK_MIC"/> <xs:enumeration value="AUDIO_DEVICE_IN_REMOTE_SUBMIX"/> <xs:enumeration value="AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_ACCESSORY"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_DEVICE"/> <xs:enumeration value="AUDIO_DEVICE_IN_ALL_USB"/> <xs:enumeration value="AUDIO_DEVICE_IN_FM_TUNER"/> <xs:enumeration value="AUDIO_DEVICE_IN_TV_TUNER"/> <xs:enumeration value="AUDIO_DEVICE_IN_LINE"/> Loading @@ -278,6 +275,7 @@ <xs:enumeration value="AUDIO_DEVICE_IN_BUS"/> <xs:enumeration value="AUDIO_DEVICE_IN_PROXY"/> <xs:enumeration value="AUDIO_DEVICE_IN_USB_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_BLE"/> <xs:enumeration value="AUDIO_DEVICE_IN_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_IN_STUB"/> </xs:restriction> Loading
audio/effect/4.0/types.hal +10 −10 Original line number Diff line number Diff line Loading @@ -203,7 +203,7 @@ struct EffectDescriptor { Uuid type; // UUID of to the OpenSL ES interface implemented // by this effect Uuid uuid; // UUID for this particular implementation EffectFlags flags; // effect engine capabilities/requirements flags bitfield<EffectFlags> flags; // effect engine capabilities/requirements flags uint16_t cpuLoad; // CPU load indication expressed in 0.1 MIPS units // as estimated on an ARM9E core (ARMv5TE) with 0 WS uint16_t memoryUsage; // data memory usage expressed in KB and includes Loading
audio/effect/all-versions/default/include/effect/all-versions/default/Conversions.impl.h +4 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,10 @@ #include <memory.h> #include <stdio.h> #include <common/all-versions/VersionUtils.h> using ::android::hardware::audio::common::AUDIO_HAL_VERSION::HidlUtils; using ::android::hardware::audio::common::utils::mkEnumConverter; namespace android { namespace hardware { Loading @@ -32,7 +35,7 @@ void effectDescriptorFromHal(const effect_descriptor_t& halDescriptor, EffectDescriptor* descriptor) { HidlUtils::uuidFromHal(halDescriptor.type, &descriptor->type); HidlUtils::uuidFromHal(halDescriptor.uuid, &descriptor->uuid); descriptor->flags = EffectFlags(halDescriptor.flags); descriptor->flags = mkEnumConverter<EffectFlags>(halDescriptor.flags); descriptor->cpuLoad = halDescriptor.cpuLoad; descriptor->memoryUsage = halDescriptor.memoryUsage; memcpy(descriptor->name.data(), halDescriptor.name, descriptor->name.size()); Loading
camera/provider/2.4/vts/functional/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -38,8 +38,11 @@ cc_test { "android.hardware.camera.device@3.3", "android.hardware.camera.device@3.4", "android.hardware.camera.provider@2.4", "android.hardware.graphics.allocator@2.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.mapper@2.0", "android.hidl.allocator@1.0", "libgrallocusage", "libhidlmemory", ], }
camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +85 −37 Original line number Diff line number Diff line Loading @@ -48,6 +48,13 @@ #include <system/camera_metadata.h> #include <ui/GraphicBuffer.h> #include <android/hardware/graphics/allocator/2.0/IAllocator.h> #include <android/hardware/graphics/mapper/2.0/IMapper.h> #include <android/hardware/graphics/mapper/2.0/types.h> #include <android/hidl/allocator/1.0/IAllocator.h> #include <android/hidl/memory/1.0/IMapper.h> #include <android/hidl/memory/1.0/IMemory.h> #include <VtsHalHidlTargetTestBase.h> #include <VtsHalHidlTargetTestEnvBase.h> Loading Loading @@ -105,6 +112,9 @@ using ::android::hardware::camera::device::V1_0::FrameCallbackFlag; using ::android::hardware::camera::device::V1_0::HandleTimestampMessage; using ::android::hardware::MessageQueue; using ::android::hardware::kSynchronizedReadWrite; using ::android::hidl::allocator::V1_0::IAllocator; using ::android::hidl::memory::V1_0::IMemory; using ::android::hidl::memory::V1_0::IMapper; using ResultMetadataQueue = MessageQueue<uint8_t, kSynchronizedReadWrite>; using ::android::hidl::manager::V1_0::IServiceManager; Loading Loading @@ -621,6 +631,8 @@ public: void setParameters( const sp<::android::hardware::camera::device::V1_0::ICameraDevice> &device, const CameraParameters &cameraParams); void allocateGraphicBuffer(uint32_t width, uint32_t height, uint64_t usage, PixelFormat format, hidl_handle *buffer_handle /*out*/); void waitForFrameLocked(DataCallbackMsg msgFrame, std::unique_lock<std::mutex> &l); void openEmptyDeviceSession(const std::string &name, Loading Loading @@ -3297,15 +3309,15 @@ TEST_F(CameraHidlTest, processCaptureRequestPreview) { }); ASSERT_TRUE(ret.isOk()); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, gb.get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -3497,20 +3509,20 @@ TEST_F(CameraHidlTest, processMultiCaptureRequestPreview) { InFlightRequest inflightReq = {static_cast<ssize_t> (halStreamConfig.streams.size()), false, supportsPartialResults, partialResultCount, resultQueue}; std::vector<sp<GraphicBuffer>> graphicBuffers; std::vector<hidl_handle> graphicBuffers; graphicBuffers.reserve(halStreamConfig.streams.size()); ::android::hardware::hidl_vec<StreamBuffer> outputBuffers; outputBuffers.resize(halStreamConfig.streams.size()); size_t k = 0; for (const auto& halStream : halStreamConfig.streams) { sp<GraphicBuffer> gb = new GraphicBuffer(previewStream.width, previewStream.height, static_cast<int32_t>(halStream.v3_3.v3_2.overrideFormat), 1, android_convertGralloc1To0Usage( halStream.v3_3.v3_2.producerUsage, halStream.v3_3.v3_2.consumerUsage)); ASSERT_NE(nullptr, gb.get()); graphicBuffers.push_back(gb); outputBuffers[k] = {halStream.v3_3.v3_2.id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), BufferStatus::OK, nullptr, nullptr}; hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStream.v3_3.v3_2.producerUsage, halStream.v3_3.v3_2.consumerUsage), halStream.v3_3.v3_2.overrideFormat, &buffer_handle); graphicBuffers.push_back(buffer_handle); outputBuffers[k] = {halStream.v3_3.v3_2.id, bufferId, buffer_handle, BufferStatus::OK, nullptr, nullptr}; bufferId++; k++; } Loading Loading @@ -3689,7 +3701,7 @@ TEST_F(CameraHidlTest, processCaptureRequestBurstISO) { ::android::hardware::camera::common::V1_0::helper::CameraMetadata requestMeta; StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, nullptr}; sp<GraphicBuffer> buffers[kBurstFrameCount]; hidl_handle buffers[kBurstFrameCount]; StreamBuffer outputBuffers[kBurstFrameCount]; CaptureRequest requests[kBurstFrameCount]; InFlightRequest inflightReqs[kBurstFrameCount]; Loading @@ -3699,15 +3711,13 @@ TEST_F(CameraHidlTest, processCaptureRequestBurstISO) { std::unique_lock<std::mutex> l(mLock); isoValues[i] = ((i % 2) == 0) ? isoRange.data.i32[0] : isoRange.data.i32[1]; buffers[i] = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, buffers[i].get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffers[i]); outputBuffers[i] = {halStreamConfig.streams[0].id, bufferId + i, hidl_handle( buffers[i]->getNativeBuffer()->handle), BufferStatus::OK, nullptr, nullptr}; buffers[i], BufferStatus::OK, nullptr, nullptr}; requestMeta.append(reinterpret_cast<camera_metadata_t *> (settings.data())); // Disable all 3A routines Loading Loading @@ -3795,15 +3805,15 @@ TEST_F(CameraHidlTest, processCaptureRequestInvalidSinglePreview) { &supportsPartialResults /*out*/, &partialResultCount /*out*/); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -3953,15 +3963,15 @@ TEST_F(CameraHidlTest, flushPreviewRequest) { }); ASSERT_TRUE(ret.isOk()); sp<GraphicBuffer> gb = new GraphicBuffer( previewStream.width, previewStream.height, static_cast<int32_t>(halStreamConfig.streams[0].overrideFormat), 1, hidl_handle buffer_handle; allocateGraphicBuffer(previewStream.width, previewStream.height, android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, halStreamConfig.streams[0].consumerUsage)); ASSERT_NE(nullptr, gb.get()); halStreamConfig.streams[0].consumerUsage), halStreamConfig.streams[0].overrideFormat, &buffer_handle); StreamBuffer outputBuffer = {halStreamConfig.streams[0].id, bufferId, hidl_handle(gb->getNativeBuffer()->handle), buffer_handle, BufferStatus::OK, nullptr, nullptr}; Loading Loading @@ -4794,6 +4804,44 @@ void CameraHidlTest::setParameters( ASSERT_EQ(Status::OK, returnStatus); } void CameraHidlTest::allocateGraphicBuffer(uint32_t width, uint32_t height, uint64_t usage, PixelFormat format, hidl_handle *buffer_handle /*out*/) { ASSERT_NE(buffer_handle, nullptr); sp<android::hardware::graphics::allocator::V2_0::IAllocator> allocator = android::hardware::graphics::allocator::V2_0::IAllocator::getService(); ASSERT_NE(nullptr, allocator.get()); sp<android::hardware::graphics::mapper::V2_0::IMapper> mapper = android::hardware::graphics::mapper::V2_0::IMapper::getService(); ASSERT_NE(mapper.get(), nullptr); android::hardware::graphics::mapper::V2_0::IMapper::BufferDescriptorInfo descriptorInfo {}; descriptorInfo.width = width; descriptorInfo.height = height; descriptorInfo.layerCount = 1; descriptorInfo.format = format; descriptorInfo.usage = usage; ::android::hardware::hidl_vec<uint32_t> descriptor; auto ret = mapper->createDescriptor( descriptorInfo, [&descriptor](android::hardware::graphics::mapper::V2_0::Error err, ::android::hardware::hidl_vec<uint32_t> desc) { ASSERT_EQ(err, android::hardware::graphics::mapper::V2_0::Error::NONE); descriptor = desc; }); ASSERT_TRUE(ret.isOk()); ret = allocator->allocate(descriptor, 1u, [&](android::hardware::graphics::mapper::V2_0::Error err, uint32_t /*stride*/, const ::android::hardware::hidl_vec<::android::hardware::hidl_handle>& buffers) { ASSERT_EQ(android::hardware::graphics::mapper::V2_0::Error::NONE, err); ASSERT_EQ(buffers.size(), 1u); *buffer_handle = buffers[0]; }); ASSERT_TRUE(ret.isOk()); } int main(int argc, char **argv) { ::testing::AddGlobalTestEnvironment(CameraHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); Loading