Commit graph

794 commits

Author SHA1 Message Date
Treehugger Robot
56e050362d Merge "EnvironmentalReverbTest: Add Tests to Validate Environmental Reverb Effect" into main 2024-05-29 18:27:25 +00:00
Sneha Patil
37f131c244 EnvironmentalReverbTest: Add Tests to Validate Environmental Reverb Effect
Compare energy values of auxiliary output for different parameters
Remove environmental reverb default implementation from the config file.

Bug: 305866207
Test: atest VtsHalEnvironmentalReverbTargetTest
Change-Id: I261c52ff25dd63d41213f0b40df8627dbb80a95d
2024-05-29 17:26:20 +05:30
Mikhail Naganov
ab222c63bc audio: Allow onError callback in any state
In practice, the AoC can crash while the stream is in
any state, thus this should be allowed for correct
handling of error conditions in the framework.

The list of states when `IStreamCallback.onError` can
be received is not enforced in VTS tests, thus no
test regressions are expected.

Bug: 339400414
Test: repro steps for simulating AoC crash in b/339400414
Change-Id: I9a52779f773307882109e159d715072de5af2ece
2024-05-21 14:31:56 -07:00
Treehugger Robot
b5d5a9fa01 Merge "audio: Fix after aosp/2908743 (exit command handling)" into main 2024-05-14 00:49:27 +00:00
Mikhail Naganov
6a5748a02e audio: Fix after aosp/2908743 (exit command handling)
In aosp/2908743, the intended behavior of the "halReservedExit"
command (stream exit) was inadventedly changed. Instead of
exiting from the thread's loop only when the cookie has
the expected value, it was actually exiting when the cookie
value is any but zero. The intended behavior is as follows:

 - the cookie has expected value: do not send reply, exit loop;
 - the cookie has unexpected but non-zero value: ignore,
     do not send reply (that's the point of using the cookie);
 - the cookie has a zero value: ignore, send a reply (this is
     for VTS testing).

Bug: 300181540
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I9945eb0ba9042993adac8599b18f241c4f69ca7a
2024-05-13 16:38:11 -07:00
Shunkai Yao
e26729ae76 Merge "Improve effect AIDL HAL logging" into main 2024-05-10 01:43:23 +00:00
Shunkai Yao
fbb29ced9f Improve effect AIDL HAL logging
Bug: 333407024
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ie983c4360488a6047bd284c20bf9899d38b4273e
2024-05-09 22:34:10 +00:00
Shunkai Yao
61f9dd21bd Update VTS to open Spatializer with supported input channel layout
Bug: 338040049
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts
Change-Id: I2e3457771617ff9425672f4db5e151658e47c827
2024-05-09 20:28:08 +00:00
Mikhail Naganov
2222e7d599 Merge "audio: Abort on data FMQ pointer corruption" into main 2024-05-09 16:54:31 +00:00
Shunkai Yao
ef683a9c60 Use customized event flag for data FMQ not_empty to avoid conflict
also update VTS data path test skipping for offload effects

Bug: 335547630
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ie92f04091658e210dccb7a2d60ebbab14c49fb58
Merged-In: Ie92f04091658e210dccb7a2d60ebbab14c49fb58
2024-05-09 01:07:34 +00:00
Mikhail Naganov
7b6951eed8 audio: Abort on data FMQ pointer corruption
Issue a fatal error when the data FMQ detects internal pointers
corruption. This condition indicates some low level problems
and should be diagnosed as fast as possible.

Bug: 338974476
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I962eba620149c7169f0f0a2dad4c4064232966d7
2024-05-08 16:50:01 -07:00
Shunkai Yao
f7391d5ac4 Merge "Effect AIDL VTS: relax dynamics processing effect parameter validations" into main 2024-04-22 23:52:06 +00:00
Shunkai Yao
972b465a0e Effect AIDL VTS: relax dynamics processing effect parameter validations
relaxing several parameter checking to align with HIDL
 - no need to have stage in use to set bands/channels
 - band settings no need to be sorted by frequency

Bug: 328012516
Test: atest VtsHalDynamicsProcessingTargetTest
Change-Id: If12d978ee69ee7f087a7e8758513a9c6bacf817f
Merged-In: If12d978ee69ee7f087a7e8758513a9c6bacf817f
2024-04-22 22:44:57 +00:00
Treehugger Robot
53eb12245b Merge "audio: Use more bursts in audio I/O VTS tests" into main 2024-04-19 23:25:33 +00:00
Mikhail Naganov
a2a9fa5003 audio: Use more bursts in audio I/O VTS tests
Some audio outputs use A/V sync and requre mode bursts
in order to start reporting the presentation position.

Bug: 300735639
Bug: 328010709
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Icad0942f2ba1dcd6f030a7dc4f37e22fdbd6dd71
2024-04-19 21:56:00 +00:00
Treehugger Robot
0dccb6e265 Merge changes Icd33f3cb,I737479d8 into main
* changes:
  audio: Fix AudioPatchTest/AudioModulePatch#UpdateInvalidPatchId VTS test
  audio: Skip stream I/O test for "echo reference" input device
2024-04-19 01:44:52 +00:00
Mikhail Naganov
22e17d43bd audio: Update 'PauseSync' scenario in AudioStreamIoOutTest
According to the definition of the 'PAUSED' state
in StreamDescriptor.aidl, s/w (the client) stops
writing once the buffer is filled up. That means, it is
allowed for an output stream not to consume data
from the MQ while in the paused state, so allow that
in the test.

Also, update the state transition sequence in the test
to flush any data after making a burst while in the 'PAUSED'
state.

Bug: 328010709
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Icb5fd02ca4ede63d7ae33613ab66cb96f3e6df29
2024-04-18 14:36:50 -07:00
Mikhail Naganov
8dd96d4c41 audio: Fix AudioPatchTest/AudioModulePatch#UpdateInvalidPatchId VTS test
The test was using '0' as an "invalid" patch ID value, however
this value is valid in the context of 'IModule.setAudioPatch'
method and means "create a new patch and allocate and ID for it".

Bug: 328010709
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Icd33f3cbd1602ec5aa162fa72fc3ddd59ccffbef
2024-04-18 13:23:05 -07:00
Mikhail Naganov
a62c5df181 audio: Skip stream I/O test for "echo reference" input device
This is aligned with the HIDL implementation VTS. The echo reference
device can't provide any input until certain preconditions are met,
and modeling these preconditions in the test is not trivial.

Also, add the information into the mix port into the trace scope
for easier identification on test failure.

Bug: 328010709
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I737479d8ef1961791ac3bd82aeb779453d2e49f4
2024-04-18 13:22:32 -07:00
Mikhail Naganov
403040b952 Merge "audio: Fix IStreamIn.getActiveMicrophones test" into main 2024-04-17 23:15:45 +00:00
Mikhail Naganov
eee5499ba8 audio: Fix IStreamIn.getActiveMicrophones test
Since "active" means "used by the stream for acquiring data,"
it was unreasonable to expect the list of active microphones
to be non-empty prior to actually starting data acquisition.
This change adds running of 'burst' commands before calling
'getActiveMicrophones'.

To reuse existing code some refactorings have been made.
Added 'AudioInputFlags::HOTWORD_TAP' to the list of port
config flags for which I/O testing is not performed.

Bug: 328010709
Bug: 328362233
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I876c0b6d7365e104ec9ed8cf5033a83f822006b6
2024-04-17 14:47:16 -07:00
Treehugger Robot
7291b19db1 Merge "audio: skip data path for offload Virtualizer" into main 2024-04-17 03:52:17 +00:00
Mikhail Naganov
66351e5a9f audio: Align bluetooth start behavior
When staring data transfer, if resuming of BT session fails,
the legacy implementation does not indicate an error, thus
causing an automatic retry on next transfer. The AIDL
implementation was switching the stream into an error state
instead. This could cause audio mute when the BT stack is
slow on resuming. This CL aligns AIDL with legacy behavior.

Bug: 333307789
Test: repro steps in the bug
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3f4c7fca29db4b82d597bb56478f40a75cef618c)
Merged-In: I5080a7275671287f188930f041c5ff2215ed2e1e
Change-Id: I5080a7275671287f188930f041c5ff2215ed2e1e
2024-04-16 16:27:10 +00:00
Jaideep Sharma
9f7c9102d3 audio: skip data path for offload Virtualizer
Skip the data path tests for offloading Virtualizer, as offloading
effects don't publish fmqs and don't actually process the data.

Bug: 334851716
Test: run vts -m VtsHalVirtualizerTargetTest
Change-Id: I0d96fe4b036bdbd6c7b65af906edaaaac39f7a10
2024-04-15 16:42:36 +00:00
Treehugger Robot
0f141d1967 Merge "PresetReverb: Add test to validate PresetReverb Effect" into main 2024-04-11 17:25:34 +00:00
Sneha Patil
94abce0998 PresetReverb: Add test to validate PresetReverb Effect
Added tests to verify increase in energy with decrease in room and hall size.
Remove preset reverb default implementation from the config file.

Bug: 305866207
Test: atest VtsHalPresetReverbTargetTest
Change-Id: I565612d90b7c7e52cb23bd5dbfaf02235f65cc67
2024-04-11 09:25:56 +05:30
Mikhail Naganov
7b9b9e03e5 audio: Use allow list for device connection types in TryConnectMissingDevice
Limit the connection types to test to the following:
 - HDMI*
 - IP_V4
 - USB

Only these connection types can be easily checked by the HAL
for presence of an external device.

Bug: 326888643
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I659e14a150b3043ead8d844cd89a2c4700d57efd
2024-04-10 23:50:37 +00:00
Shunkai Yao
e237f5bfaa Merge "Use customized toString for UUID in VTS" into main 2024-04-02 16:45:52 +00:00
Shunkai Yao
fb8f39452a Use customized toString for UUID in VTS
Bug: 331955595
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I561d68645f3f159b029135b0dfa66511a2800d72
2024-03-29 18:49:15 +00:00
Mikhail Naganov
69d60aa02c audio: Fix some VTS issues on real devices
1. Skip testing of stream I/O on certain types of mix ports.

2. Skip testing of connection of BT SCO device.

Bug: 300735639
Bug: 326888356
Bug: 328010709
Bug: 331516432
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I9b8bbf2014e223375c8f8400ff2af32268803706
2024-03-28 17:02:27 -07:00
Mikhail Naganov
efb45bc792 audio: Allow to inherit Binder RT priority in AIDL
This option is on by default for HIDL interfaces, however
in AIDL it needs to be enabled explicitly.

Bug: 331469541
Test: m
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d975a9e6ec0b6f0eeac99673b9b06e11146874ba)
Merged-In: I971185a46da4222160fb04b8b77f805ef0396562
Change-Id: I971185a46da4222160fb04b8b77f805ef0396562
2024-03-27 16:20:33 +00:00
Mikhail Naganov
a41ff5134d audio: Implement blocking in remote submix when there is no sink
The HIDL implementation blocked for the audio buffer duration
when the output side of the remote submix pipe does not have
the sink connected. This behavior was accidentally removed
when fixing b/327220024.

Also, limit the amount of the debug messages displayed when
the sink is shutdown to avoid spamming the syslog.

Bug: 328347445
Test: repro steps from the bug
Test: atest VtsHalAudioCoreTargetTest
Test: atest --test-filter=".*AudioPlaybackCaptureTest.*" CtsMediaAudioTestCases
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6507376fb940198e8c39ad6d5345d132b1dd7219)
Merged-In: Ia66cb7b4567d42a41bf4715b7d725d36510ac50c
Change-Id: Ia66cb7b4567d42a41bf4715b7d725d36510ac50c
2024-03-25 16:04:27 +00:00
Mikhail Naganov
222d034461 Merge "audio: Adjust stream buffer size calculation" into main 2024-03-22 03:36:44 +00:00
Mikhail Naganov
cbb2976223 audio: Adjust stream buffer size calculation
When calculating buffer size, use powers of two
for "large" buffers only on SRs >= 44100 Hz.
With lower SRs, sizes rounded up to a multiple
of 2 give too high latency.

Bug: 328432688
Test: repro steps from b/328432688#comment3
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I605ef8507fef030d349e85c33ed0229c9566ddb5
2024-03-21 16:40:30 -07:00
Mikhail Naganov
df65834372 audio: Do not use A2DP/LE status when populating device port
The events about the status of A2DP and LE are sent by
the framework asynchronously with attempts to connect
an external device. As a result, the connection attempt
may be rejected by the bluetooth HAL module.

Bug: 327711955
Test: atest VtsHalAudioCoreTargetTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a46d52771a3e4a7816ea722088153ee6b65f59c3)
Merged-In: Iecef0ee6a66cd290237fdcccd6a7016e9622c4b0
Change-Id: Iecef0ee6a66cd290237fdcccd6a7016e9622c4b0
2024-03-20 16:48:08 +00:00
Shunkai Yao
bb35effe0d Audio effect aidl log reduce and level adjust
Bug: 329334917
Test: atest AudioEffectTest
Test: atest CtsMediaAudioTestCases
Test: atest CtsEffectTestCases
Test: audio use cases on pixel AIDL audio hal
Change-Id: I49876924b230f2ac834d3b0e494a03b814c4bb6e
Merged-In: I49876924b230f2ac834d3b0e494a03b814c4bb6e
2024-03-16 00:00:12 +00:00
Shunkai Yao
e0c1f31ff6 minor improvements for VtsHalAudioEffectFactoryTargetTest
Bug: 327678656
Test: atest VtsHalAudioEffectFactoryTargetTest
Change-Id: I95f19d20883142cd500c552966bd8f02256a1be5
Merged-In: I95f19d20883142cd500c552966bd8f02256a1be5
2024-03-14 17:32:07 +00:00
Shunkai Yao
50e478ba73 Effect AIDL VTS: skip data path testing for offloading effects
Bug: 328330990
Test: atest VtsHalBassBoostTargetTest
Test: atest VtsHalDownmixTargetTest
Test: atest VtsHalLoudnessEnhancerTargetTest
Test: atest VtsHalVolumeTargetTest
Change-Id: Ic720e74cf25f5282dfa52dca354a5eccf9071f61
Merged-In: Ic720e74cf25f5282dfa52dca354a5eccf9071f61
2024-03-14 17:10:37 +00:00
Devin Moore
5ceadc2958 Merge "Freeze android.hardware.audio* interfaces" into main 2024-03-12 23:05:00 +00:00
Treehugger Robot
1d9bf983a3 Merge "audio:aidl: Use module type in log prints" into main 2024-03-11 17:21:23 +00:00
Treehugger Robot
2793953298 Merge "Virtualizer: Add Test to Validate Virtualizer Effect" into main 2024-03-11 16:53:23 +00:00
Sneha Patil
5c95e334ca Virtualizer: Add Test to Validate Virtualizer Effect
Added test to verify increasing Virtualizer Strength values.

Bug: 305866207
Test: atest VtsHalVirtualizerTargetTest
Change-Id: Ieb9faf63ccd77e9fec61e3fcfaa04f722aaf26ea
2024-03-09 02:41:39 +00:00
Jaideep Sharma
559a491dc1 audio:aidl: Use module type in log prints
Module base class can be used by multiple module,
to identify the module in use from logs, use mType in the logs as well.

Change log type for getVendorParameter and setVendorParameters,
as all parameters might not be supported by each module and unsupported parameter does not mean an error.

Change-Id: I0f46f8a9be733edd11186140bc9c3f51ea8d0969
2024-03-08 10:21:31 +05:30
Shunkai Yao
7a0eb7b7a7 Effect AIDL: remove placeholder effect from default implementation
Bug: 328330990
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Icf15e349a2ad36eeefa1e3eb46428c04ae164ad1
2024-03-07 21:37:02 +00:00
Shunkai Yao
530235c8dc Revert "Effect AIDL: remove placeholder effect from default implementation"
This reverts commit d0a6d52d6e.

Reason for revert: b/328548875

Change-Id: I240831d8c417ea95e42ab5faa592a57ed97d475c
2024-03-07 20:25:13 +00:00
Xin Li
c4b2f5b564 Merge "Merge Android 14 QPR2 to AOSP main" into main 2024-03-07 06:41:02 +00:00
Mikhail Naganov
b06a492bd9 audio: Preserve 'usecase' for in IModule::setAudioPortConfig
The field AudioPortConfig.ext.mix.usecase is provided by
the client, thus is needs to be treated the same way as
'.handle'.

Bug: 302736184
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I45050e8530cd236f5e582585f583df477fc7ae8a
2024-03-06 16:39:50 -08:00
Shunkai Yao
124bdd282f Merge "Effect AIDL: remove placeholder effect from default implementation" into main 2024-03-06 21:43:30 +00:00
Devin Moore
329f3b35ad Freeze android.hardware.audio* interfaces
Already frozen internally. Freezing now in aosp to enable developement
on 202504 interfaces.

Merged-In: Ie6d38d27a287e258c30516e0030ad8c931d06432
Test: verify .hash file is the same as internally
Test: lunch cf_x86_64_phone-next-userdebug
Bug: 328236210
Change-Id: I14e49a7ed7a1069cd1ca9b92ce7664f646b18054
2024-03-06 21:30:16 +00:00
Shunkai Yao
d0a6d52d6e Effect AIDL: remove placeholder effect from default implementation
Also add two missing test class to postsubmit

Bug: 328330990
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:postsubmit
Change-Id: I9f9b9feda9ca99e6a065e837fa77dc621ad35bb1
2024-03-06 18:48:52 +00:00