summaryrefslogtreecommitdiff
path: root/audio/core
AgeCommit message (Collapse)Author
2022-12-05audio HAL: set minimum Binder access priorityAndy Hung
Use setMinSchedulerPolicy to enforce minimum thread priority when accessing the audio HAL to ANDROID_PRIORITY_AUDIO Test: instrumented Bug: 261496726 Change-Id: I700b04d3060e9405b1445206882a6131cea0d045
2022-07-19audio VTS: Update CompressedOffloadOutputStream implementationMikhail Naganov
Do not rely on blocking behavior of 'IStreamOut.write', instead use stream callbacks. Measure the time between write start and drain complete. This makes the test working reliably across different chipsets. Bug: 219767875 Test: atest VtsHalAudioV7_0TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest Test: atest VtsHalAudioV7_1TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest Change-Id: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c Merged-In: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c (cherry picked from commit a0a5d4a9f6e68a1c6babd5c9e6307aa7322c2f89)
2022-07-19audio VTS: CompressedOffloadOutputStream to check the vendor API levelMikhail Naganov
Update CompressedOffloadOutputStream to fail the test if compressed offload mix port does not support gapless offload for a new device launching on T+. Bug: 219767875 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510 Merged-In: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510 (cherry picked from commit 1bc0dc4cebf3a968934d0239a1b17e6cc8c9a7e8)
2022-07-19audio VTS: add CompressedOffloadOutputStream testMikhail Naganov
CompressedOffloadOutputStreamTest#Mp3FormatGaplessOffload verifies that gapless offload is supported by compressed offload mix ports. Bug: 219767875 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: I7d42f8a714da2923b8775445ba301938ca90b885 Merged-In: I7d42f8a714da2923b8775445ba301938ca90b885 (cherry picked from commit 158a2ddb2fafa01e2e52a4c9033b81c29d05dfdd)
2022-07-19audio VTS: Refactor test parameter generation for I/O streamsMikhail Naganov
Two changes that are necessary to test offloaded output: 1. Pass all mix port flags specified in the config to HAL when opening an output stream. Previously the generator was omitting the 'NON_BLOCKING' flag, however it is necessary for offloaded output to work. This also now passes the 'GAPLESS_OFFLOAD' flag to the stream opening call site. 2. Provide the DeviceAddress of the attached source/sink device to tests that use mix ports. Some tests were looking up the device address anyway. Also, HAL implementations seem to prefer to have the actual output device instead of 'DEFAULT' when opening offload streams. Bug: 219767875 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Test: atest HalAudioV7_0GeneratorTest Change-Id: I0482376ecc7d6964f45f508a80716ffab18044b4 Merged-In: I0482376ecc7d6964f45f508a80716ffab18044b4 (cherry picked from commit 713d2c55908aa6bd22481163509c4543a9c6d1bf)
2022-05-05audio VTS: Fix handling of ULTRASOUND sourcesMikhail Naganov
When opening a stream on an ultrasound input (AUDIO_INPUT_FLAG_ULTRASOUND), the source type AUDIO_SOURCE_ULTRASOUND must be used. Bug: 231275185 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: Ib1fb5b8218eb0c52edf31789fa937c0a8b6c5082 Merged-In: Ib1fb5b8218eb0c52edf31789fa937c0a8b6c5082 (cherry picked from commit 1ce9d5488ab1ebb885d49f9b15eecedf67be5e09)
2022-04-23VTSHalAudio: Increase test timeout for V6, V7.x to 10 minutesMikhail Naganov
TV devices can list a lot of configurations and have low performing CPUs which causes the test to run for a significant amount of time. From b/229824670 it seems that 10 minutes should be enough. Bug: 229824670 Test: atest VtsHalAudioV6_0TargetTest Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: Id7fa8eaa98bf2437fd1f676b9e5a7290df260fbd (cherry picked from commit 0b9b03eb710e7bcf4b2b2cf4489777e3c321b95f) Merged-In: Id7fa8eaa98bf2437fd1f676b9e5a7290df260fbd
2022-04-12audio: Require exact implementation version match am: 7c92256c1a am: ↵Mikhail Naganov
541eb4099c am: 5571021c52 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2058922 Change-Id: I230abccbbd62b6dbb3cafead89ddfea5ff050154 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-12audio: Require exact implementation version matchMikhail Naganov
Align the behavior of minor version mismatch with the behavior of major version mismatch. For example, trying to run VTS test intended for V7.0 on a device with V7.1 yields no results, similar to what happens when running a V6.0 test on V7.0 device. This is done to avoid test failures when the device uses features added by V7.1 in the APM XML config. Bug: 227150535 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: I8ad6595a221f0bc9aedea057f27a75c172954da5
2022-02-24Merge "Add timed out test files to tidy_timeout_srcs" am: ff54f73b4f am: ↵Chih-hung Hsieh
fa83970b3a am: 581616e658 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1992232 Change-Id: I2eac13fe3b5ab0b4f15d6ceadf376e5e74124a81
2022-02-18Add timed out test files to tidy_timeout_srcsChih-Hung Hsieh
* Timed out runs do not show any warning messages. * These test files cannot finish clang-tidy runs with the following settings: TIDY_TIMEOUT=90 WITH_TIDY=1 CLANG_ANALYZER_CHECKS=1 * When TIDY_TIMEOUT is set, in Android continuous builds, tidy_timeout_srcs files will not be compiled by clang-tidy. When developers build locally without TIDY_TIMEOUT, tidy_timeout_srcs files will be compiled. * Some of these test modules may be split into smaller ones, or disable some time consuming checks, and then enable clang-tidy to run within limited time. Bug: 201099167 Test: make droid tidy-hardware-interfaces_subset Change-Id: I1de28f1572fff368f67eab512fffec9f2e5c2a9b
2022-02-12audio VTS: Fix HAL device managementMikhail Naganov
Straighten out logic in DeviceManager for proper handling of IPrimaryDevice and IDevice instances across all supported HAL versions. This fixes a recently introduced bug which was causing the same HAL device to be opened twice in a row, and then closed twice. Bug: 218610286 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: I415cbadae9d325ac63160e49e5e638906c8c63fd (cherry picked from commit 285c0a041cb21bd72e4971702cd28fd2d1253e9a) Merged-In: I415cbadae9d325ac63160e49e5e638906c8c63fd
2022-02-12audio: Add android.hardware.audio[.common]@7.1-util modulesMikhail Naganov
android.hardware.audio.common@7.1-util and android.hardware.audio@7.1-util utilize the 7.1 XSD enums conversion library and thus can work with the new enum strings added in 7.1 Bug: 218504031 Test: atest VtsHalAudioV7_1TargetTest Test: atest android.hardware.audio.common@7.0-util_tests Test: atest android.hardware.audio.common@7.1-util_tests Test: atest android.hardware.audio@7.0-util_tests Test: atest android.hardware.audio@7.1-util_tests Change-Id: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e (cherry picked from commit fa4a4f8da7d8a8ba74b781e96a515f6049cd5073) Merged-In: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e
2022-02-10audio: Remove IStreamIn@7.1Mikhail Naganov
This has turned out to be an empty interface. By removing it we save about 100 kB in the interface code. Bug: 217752112 Test: atest VtsHalAudioV7_1TargetTest Change-Id: I2522653600a254ddcf2c4eac8bed1df69ac11d3d (cherry picked from commit 893ea216812749d3e22a9d94a8f4d92288431458) Merged-In: I2522653600a254ddcf2c4eac8bed1df69ac11d3d
2022-02-10audio: Add IDevice.setConnectedState_7_1 methodMikhail Naganov
This is an updated version of IDevice.setConnectedState which accepts a full AudioPort so that additional data like extra audio descriptors can be passed to the audio HAL. Bug: 211601178 Test: atest VtsHalAudioV7_1TargetTest Change-Id: Id746caa32122dabfb83feb5b515bed7717bcb67c (cherry picked from commit 533f78f411b4e9c5156d6b252c99415df9441cb1) Merged-In: Id746caa32122dabfb83feb5b515bed7717bcb67c
2022-02-10Audio: Add memory leak checking for HALAndy Hung
$ adb shell setprop libc.debug.malloc.program android.hardware.audio.service $ adb shell setprop libc.debug.malloc.options backtrace=8 $ adb shell setenforce 0 $ adb shell pkill audioserver $ adb shell dumpsys media.audio_flinger Test: Check the audio flinger dumpsys as above. Bug: 186054996 Bug: 187462632 Change-Id: I2e8db14b816cc4cd7e1420c538505bf71fa58c97 (cherry picked from commit 8f836b94992576a85b15d9666f4da193008e0597) Merged-In: I2e8db14b816cc4cd7e1420c538505bf71fa58c97
2022-02-10audio VTS: Fix HAL device managementMikhail Naganov
Straighten out logic in DeviceManager for proper handling of IPrimaryDevice and IDevice instances across all supported HAL versions. This fixes a recently introduced bug which was causing the same HAL device to be opened twice in a row, and then closed twice. Bug: 218610286 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: I415cbadae9d325ac63160e49e5e638906c8c63fd
2022-02-09audio: Add android.hardware.audio[.common]@7.1-util modulesMikhail Naganov
android.hardware.audio.common@7.1-util and android.hardware.audio@7.1-util utilize the 7.1 XSD enums conversion library and thus can work with the new enum strings added in 7.1 Bug: 218504031 Test: atest VtsHalAudioV7_1TargetTest Test: atest android.hardware.audio.common@7.0-util_tests Test: atest android.hardware.audio.common@7.1-util_tests Test: atest android.hardware.audio@7.0-util_tests Test: atest android.hardware.audio@7.1-util_tests Change-Id: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e
2022-02-08audio VTS: A follow-up to latency mode APIs testsMikhail Naganov
Provide instantiation statements for the new tests. Bug: 210803914 Test: atest VtsHalAudioV7_1TargetTest Change-Id: I4ed95be6e50a9dcd1362a87ec120e66abea659b6
2022-02-07Audio HAL V7.1: Add latency mode APIsEric Laurent
Add APis for controlling the latency mode on an output stream. Latency mode control is optional but mandated if spatial audio with head tracking is supported over Bluetooth classic audio link. Bug: 187446271 Test: m android.hardware.audio@7.1-impl Change-Id: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d (cherry picked from commit 040984fd449ae13ad5a9908e84c0848afbdd8aa2) Merged-In: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d
2022-02-05Audio HAL V7.1: Update VTSMikhail Naganov
Mechanical updates from global greps. Updated test code to use new methods from V7.1. Added missing checks for null pointers in PcmOnlyConfig...StreamTest::releasePatchIfNeeded for V7. Bug: 214426419 Test: atest VtsHalAudioV7_1TargetTest Change-Id: Id3a99993bf2ee0c87d44f668d759f7c10db9a435 (cherry picked from commit 40fde0bc07be50644705a708a522c941840f35c7) Merged-In: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
2022-02-05Audio HAL V7.1: Update the default implementationMikhail Naganov
Split versions of "common" and "core" types from the version of the interfaces. "Common" and "core" versions are set to 7.0. Implemented new methods of V7.1 interfaces. Bug: 214426419 Test: m android.hardware.audio@7.1-impl Test: m android.hardware.audio@7.0-impl Test: m android.hardware.audio.effect@7.0-impl Test: m android.hardware.audio@6.0-impl Change-Id: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2 (cherry picked from commit 7d01538eeccf81aa57da61b4abba830d34582195) Merged-In: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
2022-02-04Merge "audio: Remove IStreamIn@7.1"TreeHugger Robot
2022-02-04audio VTS: add tests for latency mode APIsEric Laurent
Add test cases for latency mode control APIs in V7.1 VTS. Bug: 210803914 Test: atest VtsHalAudioV7_1TargetTest Change-Id: I22691f97a5c9b54f4fdec0c5cd2bd64486d0dd76
2022-02-04audio: Remove IStreamIn@7.1Mikhail Naganov
This has turned out to be an empty interface. By removing it we save about 100 kB in the interface code. Bug: 217752112 Test: atest VtsHalAudioV7_1TargetTest Change-Id: I2522653600a254ddcf2c4eac8bed1df69ac11d3d
2022-02-01Merge "audio: Add IDevice.setConnectedState_7_1 method"Mikhail Naganov
2022-01-31audio: Add IDevice.setConnectedState_7_1 methodMikhail Naganov
This is an updated version of IDevice.setConnectedState which accepts a full AudioPort so that additional data like extra audio descriptors can be passed to the audio HAL. Bug: 211601178 Test: atest VtsHalAudioV7_1TargetTest Change-Id: Id746caa32122dabfb83feb5b515bed7717bcb67c
2022-01-27Audio HAL V7.1: Add latency mode APIsEric Laurent
Add APis for controlling the latency mode on an output stream. Latency mode control is optional but mandated if spatial audio with head tracking is supported over Bluetooth classic audio link. Bug: 187446271 Test: m android.hardware.audio@7.1-impl Change-Id: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d
2022-01-26Merge changes from topic "b-214426419-hal-v7_1"Mikhail Naganov
* changes: Audio HAL V7.1: Update VTS Audio HAL V7.1: Update the default implementation Audio HAL V7.1: Interfaces & types
2022-01-25Merge "audio VTS: Update SetConnectedStateInvalidDeviceAddress" am: ↵Treehugger Robot
3812519bc1 am: 9f7d0a7f55 am: f0f4df7c2c am: b79dbd949e Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1959939 Change-Id: I68d653ddce2cb901742fb01dc206b41b4ea8f5b7
2022-01-25Merge "audio VTS: Update SetConnectedStateInvalidDeviceAddress" am: ↵Treehugger Robot
3812519bc1 am: 9f7d0a7f55 am: f0f4df7c2c Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1959939 Change-Id: I812ee096e0800c16901c7b5577376f7b5e48e959
2022-01-25audio VTS: Update SetConnectedStateInvalidDeviceAddressMikhail Naganov
Allow IDevice.setConnectedState to return NOT_SUPPORTED when invalid device address is passed in. Bug: 214426419 Test: atest VtsHalAudioV7_0TargetTest Change-Id: I5084cbeedc10696e215c8decc235433849c3bfce
2022-01-25Audio HAL V7.1: Update VTSMikhail Naganov
Mechanical updates from global greps. Updated test code to use new methods from V7.1. Added missing checks for null pointers in PcmOnlyConfig...StreamTest::releasePatchIfNeeded for V7. Bug: 214426419 Test: atest VtsHalAudioV7_1TargetTest Change-Id: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
2022-01-25Audio HAL V7.1: Update the default implementationMikhail Naganov
Split versions of "common" and "core" types from the version of the interfaces. "Common" and "core" versions are set to 7.0. Implemented new methods of V7.1 interfaces. Bug: 214426419 Test: m android.hardware.audio@7.1-impl Test: m android.hardware.audio@7.0-impl Test: m android.hardware.audio.effect@7.0-impl Test: m android.hardware.audio@6.0-impl Change-Id: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
2022-01-24Merge "VTSHalAudio: Increase test timeout for V6 and V7" am: 11a4d832fe am: ↵Treehugger Robot
d968376429 am: e37cf3e025 am: cb4870847d Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1957459 Change-Id: I89f90463debc6d77053f0ad5ace5ebd7d6596399
2022-01-24Merge "VTSHalAudio: Increase test timeout for V6 and V7" am: 11a4d832fe am: ↵Treehugger Robot
d968376429 am: e37cf3e025 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1957459 Change-Id: I5024d838f690668faa54d551b300156994437811
2022-01-21VTSHalAudio: Increase test timeout for V6 and V7Mikhail Naganov
V6 and V7 use actual device audio configuration when testing I/O streams functionality. On low-end TV devices this can cause the test to run for significant time due to lower CPU speed and the amount of multichannel configurations. From testing on real devices, the timeout value of 5 minutes seems to be adequate. Bug: 211945822 Test: atest VtsHalAudioV6_0TargetTest Change-Id: Ie233e014f9f3650f58319c4d5f5a836cfdea87ba
2021-11-22Merge "audio VTS: Consider only attached devices for stream tests" am: ↵Mikhail Naganov
1323e4bd90 am: 384ecfa68e am: d511b36e35 am: 79418d5eb7 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1895277 Change-Id: I6cb3024221806a11129f8a077b8964a0a118cc9e
2021-11-22Merge "audio VTS: Consider only attached devices for stream tests" am: ↵Mikhail Naganov
1323e4bd90 am: 384ecfa68e am: d511b36e35 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1895277 Change-Id: If742993c606e2577fc08ddea18cde2176099ea9e
2021-11-19audio VTS: Consider only attached devices for stream testsMikhail Naganov
V6 and V7 use the audio policy configuration file for generating the set of test profiles. The generator must only take into account profiles of mix ports that are routed to device ports of attached devices. Otherwise the HAL can rightfully refuse to create a stream for the profile when the device isn't attached. Bug: 205808571 Test: atest HalAudioV6_0GeneratorTest Test: atest HalAudioV7_0GeneratorTest Test: atest VtsHalAudioV6_0TargetTest Test: atest VtsHalAudioV7_0TargetTest Change-Id: I798f978c1c0bc32831c20e4b08338b462d8eea16
2021-11-04Merge "audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTest" ↵Treehugger Robot
am: 8d27f7c7da am: 35f98d3e91 am: e3224e4f76 am: bfaac30040 am: 3e1e44e264 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1880608 Change-Id: I6e6201fc70f5a9db1e4ac2ec1440795b17470b7a
2021-11-04Merge "audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTest" ↵Treehugger Robot
am: 8d27f7c7da am: 35f98d3e91 am: e3224e4f76 am: bfaac30040 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1880608 Change-Id: Idceac72398e7f998502ce4f56e8f100f5994aa90
2021-11-03audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTestMikhail Naganov
The profiles generator wasn't loading correctly from the Audio Policy Manager config file profiles with unpopulated attributes, which is typical for dynamic profiles. Bug: 204314749 Test: atest HalAudioV7_0GeneratorTest Change-Id: I514a4e03da165cacb5dbaaa16470130895681484
2021-09-09Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." ↵Yiming Pan
am: 86e736283b am: fd3c91e19c am: ea0f857a55 am: 27d1fb72a9 am: 74b121c32f Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1814068 Change-Id: I66ea58bc1db7cba06a89b0d5d853b90cb5e885ec
2021-09-09Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." ↵Yiming Pan
am: 86e736283b am: fd3c91e19c am: ea0f857a55 am: 27d1fb72a9 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1814068 Change-Id: I97909ec55faf79c676feb8347eebd0aa8fe3f1c6
2021-09-09Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." ↵Yiming Pan
am: 86e736283b Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1814068 Change-Id: I5d66345749cff4df2faf38964c177a9829785588
2021-09-09Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest."Yiming Pan
2021-08-30Backfill owner information for VTS module VtsHalAudioV6_0TargetTest.Yiming Pan
Each VTS module is required to have OWNERS file. The ownership is based on go/vts-owners. For more information about ownership policy, please visit go/xts-owners-policy. Test: Tree Hugger Bug: 143903671 Change-Id: I743c12b239732c85cecb421b4b4ee4ebcf36074a
2021-08-23Move common audio AIDL types to audio.media.audio.commonMikhail Naganov
Since tests depend statically on libaudiofoundation, they also need to depend on the generated interfaces code, which contains vtables for interface classes. Update 'sthal_cli_3' test app. Bug: 188932434 Test: m HalAudioV6_0GeneratorTest Test: m sthal_cli_3 Change-Id: Ifb8f81d02764f7710ce207603aa6fe2d20123e89
2021-08-20Merge "Remove libaudioclient from vendor" am: 0f23937288 am: 4df56a5449 am: ↵Andy Hung
789c5284c9 am: 23569ce80e am: 4dfbfdcd79 Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1801733 Change-Id: I97366381bcfeb42bad1e38bb002970951c71d9b0