The test was created based on assumptions and the current
HAL behavior. There is no actual requirement in the HIDL
interface for a stream to have a zero capture position
prior to start. In fact, some streams may be created by
the HAL "pre-loaded" with data if audio has already been
captured by the DSP and needs to be passed to the framework.
Bug: 270478574
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Ied6a71b73bff403365dd85fe6a212cfa4a5b284d
Use setMinSchedulerPolicy to enforce minimum thread priority
when accessing the audio HAL to ANDROID_PRIORITY_AUDIO
Test: instrumented
Bug: 261496726
Merged-In: I700b04d3060e9405b1445206882a6131cea0d045
Change-Id: I700b04d3060e9405b1445206882a6131cea0d045
The fix in https://r.android.com/2322475 modifies the device
address, which becomes 'IN_DEFAULT' for the telephony case.
As a result, tests that verify capture position were not
skipped, and they do fail on certain platforms when there is
no active telephone call. The fix is to use the initial device
type which was passed to the test as a parameter, not the adjusted
one.
Bug: 263305254
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Ied7134a1bd97e70dcc2400e0827810f9d71a6438
Make more clear the origin of numbers used by the test
CompressedOffloadOutputStreamTest#Mp3FormatGaplessOffload.
No change in the test behavior.
Bug: 260676244
Test: m VtsHalAudioV7_1TargetTest
Change-Id: I48211ad4510dec7fe90dc6f755485283376eaa23
This undoes the change which had happened unintentionally in
https://cs.android.com/android/_/android/platform/hardware/ \
interfaces/+/1e703f182e2fcbb9123bf661d81d22a04d0e1f8d
The device type passed to 'openInputStream' for telephony
devices should be 'AUDIO_DEVICE_IN_DEFAULT'
Bug: 259636577
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Ic8f4367961346b87087c885a3cdaccab3c1407c9
Increase data position based on the HAL consumption of data,
on the production by the test.
Bug: 254806348
Test: atest VtsHalAudioV7_1TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Change-Id: I33a86ec62662ba4738c70c15b77ece0135da7d29
This requires a version bump to android.media.audio.common.types.
cc_defaults and java_defaults are used in order to avoid explicitly updating version references in several Android.bp files when we do future version bumps.
Bug: 242678729
Test: m
Merged-In: Id17820f210f625e370992db4f9f85e37887b088b
Change-Id: Id17820f210f625e370992db4f9f85e37887b088b
(cherry picked from commit bf94fa32cb)
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 a0a5d4a9f6)
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 1bc0dc4ceb)
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 713d2c5590)
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)
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
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
* 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
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
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
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
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
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
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
Provide instantiation statements for the new tests.
Bug: 210803914
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I4ed95be6e50a9dcd1362a87ec120e66abea659b6
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
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
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
Add test cases for latency mode control APIs in V7.1 VTS.
Bug: 210803914
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I22691f97a5c9b54f4fdec0c5cd2bd64486d0dd76
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
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
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
Allow IDevice.setConnectedState to return NOT_SUPPORTED
when invalid device address is passed in.
Bug: 214426419
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: I5084cbeedc10696e215c8decc235433849c3bfce
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
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
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
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