Commit graph

321 commits

Author SHA1 Message Date
Mikhail Naganov
abc4ffe565 audio VTS: Fix handling of ULTRASOUND sources
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 1ce9d5488a)
2022-05-05 16:33:12 +00:00
Mikhail Naganov
83cf51eb33 VTSHalAudio: Increase test timeout for V6, V7.x to 10 minutes
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 0b9b03eb71)
Merged-In: Id7fa8eaa98bf2437fd1f676b9e5a7290df260fbd
2022-04-23 01:11:16 +00:00
Mikhail Naganov
d6191e1899 audio: Require exact implementation version match am: 7c92256c1a am: 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-12 17:20:10 +00:00
Mikhail Naganov
7c92256c1a audio: Require exact implementation version match
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-04-12 00:06:09 +00:00
Chih-hung Hsieh
34593d4e2a Merge "Add timed out test files to tidy_timeout_srcs" am: ff54f73b4f am: fa83970b3a am: 581616e658
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1992232

Change-Id: I2eac13fe3b5ab0b4f15d6ceadf376e5e74124a81
2022-02-24 01:32:09 +00:00
Chih-Hung Hsieh
ad1bf31b78 Add timed out test files to tidy_timeout_srcs
* 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-18 17:25:41 -08:00
Mikhail Naganov
e6214078ba audio VTS: Fix HAL device management
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 285c0a041c)
Merged-In: I415cbadae9d325ac63160e49e5e638906c8c63fd
2022-02-12 00:35:19 +00:00
Mikhail Naganov
ec8ef38ad9 audio: Add android.hardware.audio[.common]@7.1-util modules
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 fa4a4f8da7)
Merged-In: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e
2022-02-12 00:03:49 +00:00
Mikhail Naganov
4a016add95 audio: Remove IStreamIn@7.1
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 893ea21681)
Merged-In: I2522653600a254ddcf2c4eac8bed1df69ac11d3d
2022-02-10 17:45:31 +00:00
Mikhail Naganov
9307992466 audio: Add IDevice.setConnectedState_7_1 method
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 533f78f411)
Merged-In: Id746caa32122dabfb83feb5b515bed7717bcb67c
2022-02-10 17:45:21 +00:00
Andy Hung
87edc66e1f Audio: Add memory leak checking for HAL
$ 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 8f836b9499)
Merged-In: I2e8db14b816cc4cd7e1420c538505bf71fa58c97
2022-02-10 17:44:56 +00:00
Mikhail Naganov
285c0a041c audio VTS: Fix HAL device management
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-10 04:31:15 +00:00
Mikhail Naganov
fa4a4f8da7 audio: Add android.hardware.audio[.common]@7.1-util modules
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-09 00:26:44 +00:00
Mikhail Naganov
9a30ec87a3 audio VTS: A follow-up to latency mode APIs tests
Provide instantiation statements for the new tests.

Bug: 210803914
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I4ed95be6e50a9dcd1362a87ec120e66abea659b6
2022-02-08 23:57:00 +00:00
Eric Laurent
ed7dfd5f35 Audio HAL V7.1: Add latency mode APIs
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 040984fd44)
Merged-In: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d
2022-02-07 19:54:41 +00:00
Mikhail Naganov
563238913b Audio HAL V7.1: Update VTS
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 40fde0bc07)
Merged-In: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
2022-02-05 00:44:59 +00:00
Mikhail Naganov
8140f5660a Audio HAL V7.1: Update the default implementation
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 7d01538eec)
Merged-In: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
2022-02-05 00:44:17 +00:00
TreeHugger Robot
9290c6f326 Merge "audio: Remove IStreamIn@7.1" 2022-02-04 20:25:14 +00:00
Eric Laurent
bcfa0f45b9 audio VTS: add tests for latency mode APIs
Add test cases for latency mode control APIs in V7.1 VTS.

Bug: 210803914
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I22691f97a5c9b54f4fdec0c5cd2bd64486d0dd76
2022-02-04 11:27:16 +01:00
Mikhail Naganov
893ea21681 audio: Remove IStreamIn@7.1
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-04 00:49:19 +00:00
Mikhail Naganov
7a8e9ac343 Merge "audio: Add IDevice.setConnectedState_7_1 method" 2022-02-01 20:52:49 +00:00
Mikhail Naganov
533f78f411 audio: Add IDevice.setConnectedState_7_1 method
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-31 22:43:51 +00:00
Eric Laurent
040984fd44 Audio HAL V7.1: Add latency mode APIs
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-27 21:05:47 +01:00
Mikhail Naganov
9b5dcd32aa Merge changes from topic "b-214426419-hal-v7_1"
* changes:
  Audio HAL V7.1: Update VTS
  Audio HAL V7.1: Update the default implementation
  Audio HAL V7.1: Interfaces & types
2022-01-26 18:57:31 +00:00
Treehugger Robot
0e19cd154f Merge "audio VTS: Update SetConnectedStateInvalidDeviceAddress" am: 3812519bc1 am: 9f7d0a7f55 am: f0f4df7c2c am: b79dbd949e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1959939

Change-Id: I68d653ddce2cb901742fb01dc206b41b4ea8f5b7
2022-01-25 21:18:28 +00:00
Treehugger Robot
b79dbd949e Merge "audio VTS: Update SetConnectedStateInvalidDeviceAddress" am: 3812519bc1 am: 9f7d0a7f55 am: f0f4df7c2c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1959939

Change-Id: I812ee096e0800c16901c7b5577376f7b5e48e959
2022-01-25 21:06:36 +00:00
Mikhail Naganov
4993240b9c audio VTS: Update SetConnectedStateInvalidDeviceAddress
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-25 02:29:15 +00:00
Mikhail Naganov
40fde0bc07 Audio HAL V7.1: Update VTS
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-25 01:24:52 +00:00
Mikhail Naganov
7d01538eec Audio HAL V7.1: Update the default implementation
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-25 01:24:52 +00:00
Treehugger Robot
395e94b74b Merge "VTSHalAudio: Increase test timeout for V6 and V7" am: 11a4d832fe am: d968376429 am: e37cf3e025 am: cb4870847d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1957459

Change-Id: I89f90463debc6d77053f0ad5ace5ebd7d6596399
2022-01-24 19:01:41 +00:00
Treehugger Robot
cb4870847d Merge "VTSHalAudio: Increase test timeout for V6 and V7" am: 11a4d832fe am: d968376429 am: e37cf3e025
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1957459

Change-Id: I5024d838f690668faa54d551b300156994437811
2022-01-24 18:41:24 +00:00
Mikhail Naganov
57633e5a78 VTSHalAudio: Increase test timeout for V6 and V7
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
2022-01-21 21:27:34 +00:00
Mikhail Naganov
571cc78179 Merge "audio VTS: Consider only attached devices for stream tests" am: 1323e4bd90 am: 384ecfa68e am: d511b36e35 am: 79418d5eb7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1895277

Change-Id: I6cb3024221806a11129f8a077b8964a0a118cc9e
2021-11-22 18:22:54 +00:00
Mikhail Naganov
79418d5eb7 Merge "audio VTS: Consider only attached devices for stream tests" am: 1323e4bd90 am: 384ecfa68e am: d511b36e35
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1895277

Change-Id: If742993c606e2577fc08ddea18cde2176099ea9e
2021-11-22 18:11:12 +00:00
Mikhail Naganov
3483b0ad7e audio VTS: Consider only attached devices for stream tests
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-19 22:25:19 +00:00
Treehugger Robot
0b086e4af4 Merge "audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTest" 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-04 11:24:34 +00:00
Treehugger Robot
3e1e44e264 Merge "audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTest" 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-04 11:01:47 +00:00
Mikhail Naganov
adf84c03b8 audio: Fix handling of dynamic profiles in VtsHalAudioV7_0TargetTest
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-11-03 21:01:16 +00:00
Yiming Pan
7716a06508 Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." 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-09 01:33:15 +00:00
Yiming Pan
74b121c32f Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." 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-09 01:18:32 +00:00
Yiming Pan
fd3c91e19c Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." am: 86e736283b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1814068

Change-Id: I5d66345749cff4df2faf38964c177a9829785588
2021-09-09 00:39:39 +00:00
Yiming Pan
86e736283b Merge "Backfill owner information for VTS module VtsHalAudioV6_0TargetTest." 2021-09-09 00:20:43 +00:00
Yiming Pan
56ba9d39fd Backfill owner information for VTS module VtsHalAudioV6_0TargetTest.
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-30 12:57:51 -07:00
Mikhail Naganov
e9f41f1fff Move common audio AIDL types to audio.media.audio.common
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-23 17:43:20 -07:00
Andy Hung
9ef0cdad00 Merge "Remove libaudioclient from vendor" am: 0f23937288 am: 4df56a5449 am: 789c5284c9 am: 23569ce80e am: 4dfbfdcd79
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1801733

Change-Id: I97366381bcfeb42bad1e38bb002970951c71d9b0
2021-08-20 17:04:55 +00:00
Treehugger Robot
07a3c8d98b Merge "Provide defaults for android.hardware.audio@7.0-impl" am: 9124807755 am: 03e3cb179a am: ef4c911657 am: d9fa71397a am: 95060bc08f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1803397

Change-Id: I3342c6fa2f1ac37968c243d0b25573b7a9e68fe2
2021-08-20 17:04:47 +00:00
Andy Hung
4dfbfdcd79 Merge "Remove libaudioclient from vendor" am: 0f23937288 am: 4df56a5449 am: 789c5284c9 am: 23569ce80e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1801733

Change-Id: I038609d3dca5ed207bc1c69a8e4c40078d4d1685
2021-08-20 16:48:09 +00:00
Treehugger Robot
95060bc08f Merge "Provide defaults for android.hardware.audio@7.0-impl" am: 9124807755 am: 03e3cb179a am: ef4c911657 am: d9fa71397a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1803397

Change-Id: Id7bef815e74ea1909f6128215ee7743c2219400a
2021-08-20 16:47:51 +00:00
Andy Hung
4df56a5449 Merge "Remove libaudioclient from vendor" am: 0f23937288
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1801733

Change-Id: Ib8b74771d2e7131a6bcc593312bee23acebe93fd
2021-08-20 16:05:28 +00:00
Treehugger Robot
03e3cb179a Merge "Provide defaults for android.hardware.audio@7.0-impl" am: 9124807755
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1803397

Change-Id: Id4138b78fa392c99148950e8615ec2cbebed0dea
2021-08-20 16:05:13 +00:00