Commit Graph

228 Commits

Author SHA1 Message Date
Shunkai Yao
047484de60 Merge "Effect: verify all AIDL IEffect versions are same as IFactory" into main 2024-02-02 20:23:29 +00:00
Shunkai Yao
910a8153b2 Effect: verify all AIDL IEffect versions are same as IFactory
Bug: 322780092
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: If47f70b9d8f72a45f3ecf927294fb93fda28851b
2024-02-02 01:46:09 +00:00
Shunkai Yao
2d1e1bd332 Merge "BassBoost Process: Add tests to validate Bass Boost Process." into main 2024-01-31 23:25:28 +00:00
Aditya Choudhary
c5c6c62995 [DON'T BLOCK] Test ownership migration rules
This CL is created as a best effort to migrate test targets
to the new android ownership model. If you find incorrect or unnecessary
attribution in this CL, please create a separate CL to fix that.

For more details please refer to the link below,
<add g3 doc link>

Bug: 304529413
Test: N/A
Change-Id: I3322344f595f974f730dc824af0110388076d838
2024-01-31 11:06:17 +00:00
Sneha Patil
e584923d98 BassBoost Process: Add tests to validate Bass Boost Process.
Added methods to set and validate parameters.
Added test to verify increasing strengths.

Bug:305866207
Test: atest VtsHalBassBoostTargetTest
Change-Id: I64e06deca199b3acc53eb15cf2007e6db27430f3
2024-01-31 14:13:02 +05:30
Shunkai Yao
d685aed029 vts: update SetCommonParameterAndReopen to DataPathTest
Bug: 323010068
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I05519481b69bb752f515bd54cb1eab0996ad5433
2024-01-30 18:35:26 +00:00
Bart Van Assche
5e7fcb4bbd Remove superfluous include directives
Remove #include "AudioHalBinderServiceUtil.h" from source files that do
not use the AudioHalBinderServiceUtil class directly.

Change-Id: Iff085856df91c2818dbd06bf790233cbb82a3379
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-01-23 14:19:27 -08:00
Shunkai Yao
1319e986ab Effect VTS: update VtsHalDownmixTargetTest for data validation
For downmix, the output buffer size can be diff with input

Bug: 318926783
Bug: 317946442
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I0dc0009e1779b842a4f3cdcc047d225310a304f9
Merged-In: I0dc0009e1779b842a4f3cdcc047d225310a304f9
2024-01-12 21:54:17 +00:00
Treehugger Robot
7f25c70740 Merge "audio: Skip AudioModuleRemoteSubmixTest on Android U" into main 2024-01-12 21:10:04 +00:00
Mikhail Naganov
b2dab17b1e audio: Skip AudioModuleRemoteSubmixTest on Android U
This test was developed after Android U was cut, and it assumes
the new way of encoding of the remote submix device type.

Bug: 300181540
Test: run `atest VtsHalAudioCoreTargetTest` on UDC GSI
Change-Id: If53f92a55734e18a2acce6c790f9e5e259246684
2024-01-12 10:38:03 -08:00
Shunkai Yao
65c7c7051d Effect AIDL: implement IEffect.reopen
- add IEffect.reopen implementation
- now data MQs can update at runtime, sync
  EffectContext access
- add clang thread annotation

Bug: 302036943
Test: atest VtsHalAudioEffectTargetTest
Test: build and test audio effect on Pixel
Change-Id: I3e9fdc2d5eb50b8c1377e0da75573f0eba7ea3f1
Merged-In: I3e9fdc2d5eb50b8c1377e0da75573f0eba7ea3f1
2024-01-12 17:23:28 +00:00
Shunkai Yao
6b7784edfe Audio Effect VTS: run Dowmmix data path test only after HAL version 2
Bug: 315074570
Test: VtsHalDownmixTargetTest
Change-Id: Iaa17519521f136901ec217f7d5b5fd0d03889533
2024-01-03 18:46:00 +00:00
Mikhail Naganov
b80de7bcd7 audio: Add test configs for effects VTS tests
The main purpose of the config is to shut down the framework
audioserver while the VTS test is running. This is achieved by
setting 'vts.native_server.on' to '1'. Without this, restarts
of the effects HAL process which are a normal part of tests
affect the audioserver and may lead to failures of framework
tests that run interleaved with these VTS tests.

Bug: 264712385
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts
Change-Id: I2515cb62e46ef8e93cbddb2c0219f4523d2ecda5
2023-12-27 15:54:30 -08:00
Shunkai Yao
52da94e290 Effect AIDL: cleanup dependencies
Bug: 316236907
Test: Enable AIDL and build
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts
Change-Id: Id1e28b5852a1a8c154f31f4918326de7df8bfc54
2023-12-19 00:37:36 +00:00
Shunkai Yao
1283685b4f Update VTS header includes
Bug: 273373363
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts
Change-Id: I2ad63f91b013db1ce2d3891216f1bd74606139c8
2023-12-19 00:36:49 +00:00
Shunkai Yao
f60fc373d9 Spatializer default implementatoin with VTS
Bug: 273373363
Test: atest VtsHalSpatializerTargetTest
Test: atest VtsHalAudioEffectTargetTest

Change-Id: I41218661ac7265723258303438dd01f704838188
2023-12-18 16:36:59 +00:00
jiabin
dd23b0e58e AHAL: add API to notify the HAL module about disconnecting device.
When external device is about to disconnect, the audio framework will
notify the HAL module about the coming device disconnection so that the
HAL module could abort any active read/write operations on drivers to
avoid problems with the HW interfaces.

Bug: 279824103
Test: atest VtsHalAudioCoreModuleTargetTest
Change-Id: I9f960b8ae5df11a764e70bd63f98c0f8b8386c34
Merged-In: I9f960b8ae5df11a764e70bd63f98c0f8b8386c34
2023-12-13 01:02:21 +00:00
Sneha Patil
f533b50925 DownmixProcess: Add tests to validate the downmix process.
Added methods to set and validate parameters.
Added test to verify multichannel to stereo conversion for STRIP type.
Added test to verify multichannel to stereo conversion for FOLD type.

Bug:314953788
Test: atest VtsHalDownmixTargetTest
Change-Id: I31ee4df3eac6ae42e3e3cabebd1622e860581eab
2023-12-05 22:09:05 +05:30
David Li
1a56fdda2d Effect AIDL: skip volume checking
Bug: 310751043
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I1b8b32ba7cd33ac3c00637ca86e041f1f58c69f3
Merged-In: I1b8b32ba7cd33ac3c00637ca86e041f1f58c69f3
2023-11-27 16:52:54 +00:00
Mikhail Naganov
6198ad3883 audio: Add a missing include to ModuleConfig.cpp
This module uses logging, however it did not include
the corresponding header.

Bug: 308706390
Test: build source tree
Change-Id: I1b3b5d8c5118b4f56cb0fe0c2bafd1ff30a6ca41
Merged-In: I1b3b5d8c5118b4f56cb0fe0c2bafd1ff30a6ca41
2023-11-14 01:52:09 +00:00
William Escande
e76315b139 Merge "Add defaults for audio AIDL interfaces" into main 2023-11-08 19:06:32 +00:00
Bart Van Assche
a0234940b3 audio: VtsHalAudioCoreModuleTargetTest: Convert a SIGSEGV into an assertion failure
Convert the following segmentation fault into an assertion failure:

 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
 Cause: null pointer dereference
 9 total frames
 backtrace:
       #00 pc 000000000020e532  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (AudioCoreModuleBase::TearDownImpl()+114) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #01 pc 00000000001c890a  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (AudioCoreModule::TearDown()+106) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #02 pc 00000000002b62a8  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (testing::TestInfo::Run()+424) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #03 pc 00000000002b6de4  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (testing::TestSuite::Run()+804) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #04 pc 00000000002c5c7e  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (testing::internal::UnitTestImpl::RunAllTests()+2622) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #05 pc 00000000002c50cc  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (testing::UnitTest::Run()+140) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #06 pc 00000000001c86f0  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (RUN_ALL_TESTS()+16) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #07 pc 00000000001c8669  /data/local/tmp/VtsHalAudioCoreTargetTest/x86_64/VtsHalAudioCoreTargetTest (main+137) (BuildId: f1bb3c414cf012ccd7d268b4e0c7fefe)
       #08 pc 00000000000547e9  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: e5ef3cc48c1e014ffb7dbbcfc7f9d475)

Bug: 308687042
Change-Id: I2d528dd9cf0f59bcd6b0e485b4f6141320d89a81
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2023-11-07 13:12:35 -08:00
Bart Van Assche
0fde783476 audio: AudioHalBinderServiceUtil: Make a log message more informative
If a timeout happens, report the name of the service for which the
timeout happens.

Change-Id: Iad0076071f06f0ca5e53e07b1ef97e25e7bae887
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2023-11-06 16:14:15 -08:00
Bart Van Assche
17b3201259 audio: Change mDeathHandler from a member into a local variable
Since no data is retained in mDeathHandler across member function calls,
it should be a local variable instead of a member variable.

Change-Id: I58d6cc511a21e0e7f430b3cf528faba072e02ec7
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2023-11-06 16:01:16 -08:00
Bart Van Assche
a76d4d8899 audio: Simplify AudioHalBinderServiceUtil::waitForFired()
Return the std::condition::wait_for() return value instead of reading
the variable 'fired' again. See also
https://en.cppreference.com/w/cpp/thread/condition_variable/wait_for.

Change-Id: I48c270f5446f61b2ad828b19a1fc294737a123dd
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2023-11-06 16:01:16 -08:00
Shunkai Yao
195d3d6915 Add defaults for audio AIDL interfaces
- with defaults user don't have to change their Android.bp when there is
  a update
- update AIDL audio interfaces with android.media.audio.common.types
- update Spatialization and HeadTracking AIDL usage

Bug: 273373363
Bug: 293370815
Test: m
Test: lunch panther-trunk_staging-userdebug; m; test Bluetooth Audio
Change-Id: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
Merged-In: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
2023-11-06 19:14:32 +00:00
Mikhail Naganov
3143e6930b Merge changes Ic51d603d,Ia50def0d,I22f65b8b,I8ce9f230,Id8455eb1, ... into main
* changes:
  audio: Query minimum buffer size before opening streams
  audio: Implement getters for hardware mixer controls
  audio: Clean up and fix the bluetooth HAL module
  audio: Provide a way for Module to specify nominal latency
  audio: Fix default remote submix HAL implementation and VTS
  CSD: Add default AIDL HAL implementation
2023-11-06 17:01:00 +00:00
Mikhail Naganov
95f2277730 audio: Query minimum buffer size before opening streams
The proper way to obtain the minimum buffer size when
opening a stream is to retrieve it from the patch. Thus,
a patch must be established prior to opening a stream.
This step was often skipped by VTS tests, they were
providing a fixed stream buffer size which might not
work for all HAL module implementations.

Created a helper class `StreamFixture` which handles
all necessary steps for opening a stream. Overhauled
tests to use this class.

Also, remove special treatment of remote submix devices
by ModuleConfig.

Bug: 300735639
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ic51d603d2bb8ff0fd62434bd16fc02c51326fc42
2023-11-03 14:11:09 -07:00
Mikhail Naganov
2aab766d05 audio: Fix default remote submix HAL implementation and VTS
The implementation had duplicated code in 'transfer', which already
present in 'outWrite'.

Cleaned up delay calculations and logging.

Fixed the VTS to send 'prepareToClose' before attempting to join
the worker. Otherwise, the worker could be stuck on a blocking
operation due to inactivity of the other party and join would never
happen.

Bug: 302132812
Test: atest VtsHalAudioCoreTargetTest --test-filter="*AudioModuleRemoteSubmix*"
Change-Id: Id8455eb12d1d2999dc0bc7b64f0d70a61a177598
2023-11-03 13:49:59 -07:00
Treehugger Robot
309d65f0c4 Merge "LoudnessEnhancer: Added test cases to validate effect processing." into main 2023-10-31 17:04:05 +00:00
Sneha Patil
496e4415b0 LoudnessEnhancer: Added test cases to validate effect processing.
Added test to verify increase in loudness with gains.
Added test to verify that outputs are 0 for INT_MIN gain value.

Bug: 305866207
Test: atest VtsHalLoudnessEnhancerTargetTest
Change-Id: I6e87f5bf6f268980b6cc9af4b7a191657f117eb5
2023-10-31 11:58:02 +05:30
Jaideep Sharma
7449841dc5 audio: Add VTS execution tracer
Add Execution listener in VTS tests to get information
about test execution steps like, start, stop and failure messages
in logcat message.

Bug: 287168985
Test: run vts-hal-audio

Change-Id: Ie69a7bf78076c17d7b623d75748fa0fdbdba6b1e
2023-10-27 20:02:42 +00:00
Mikhail Naganov
e3dcd057d9 Merge "audio: Allow "dynamic" profiles for device ports" into main 2023-10-11 17:32:22 +00:00
Mikhail Naganov
84bcc049e6 audio: Allow "dynamic" profiles for device ports
Some device ports are connected via ADSP which takes care
of the actual audio configuration (format, channels, SR),
for example the built-in speaker and mic ports, as well
as some external devices like analog headsets.

In the legacy implementation, such device ports did not have
any profiles specified. Allow the same behavior in the AIDL
implementation. To ensure correctness, device ports with no
profiles must be routable to mix ports that have profiles
specified. This requirement is fulfilled in legacy configs.

Bug: 266124463
Test: atest VtsHalAudioCoreTargetTest
Test: atest audiosystem_tests audiorouting_tests
Test: atest CtsMediaAudioTestCases
Change-Id: Iaccd1e8ef2a5af9a5f8bae453905d01c6b7fdc28
2023-10-10 15:15:50 -07:00
Mikhail Naganov
63d294c196 Merge changes I7df6e323,I0e3412b9 into main am: 0da62dd023
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2767897

Change-Id: I5def5e9262b8dfec9131f2d2bd184634956e6aae
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-02 19:56:23 +00:00
Mikhail Naganov
0da62dd023 Merge changes I7df6e323,I0e3412b9 into main
* changes:
  audio: Fix notification of streams of the device change
  audio: Fix update of an existing patch
2023-10-02 18:06:44 +00:00
Mikhail Naganov
dc41773ba3 audio: Fix update of an existing patch
The code for updating the existing patch did not modify
the patch stored in the module's list of patches.

Added a test which switches the patch to another port
config and validates that 'Module.getAudioPatches' returns
the updated patch.

Bug: 302573756
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I0e3412b9387cd451436a48af116dc5a940d868cf
2023-09-29 17:05:13 -07:00
Treehugger Robot
35a06a8adc Merge "Audio : Add OpenInputMultipleTimes VTS for r_submix" into main am: afdfa1d079
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2762796

Change-Id: I466944898bbcc4e2c9b5e6f43994bee0a49b6b0e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 21:43:47 +00:00
Treehugger Robot
afdfa1d079 Merge "Audio : Add OpenInputMultipleTimes VTS for r_submix" into main 2023-09-28 20:53:33 +00:00
Shraddha Basantwani
21980e5196 Audio : Add OpenInputMultipleTimes VTS for r_submix
Bug: 286914845
Test: atest AudioModuleRemoteSubmix

Change-Id: I8ae78db42274d8e17408ad6d5300cda7de134985
2023-09-28 07:20:30 +00:00
Mikhail Naganov
a4998f64cd Merge "audio: Align Module::getMmapPolicyInfos behavior with legacy" into main am: b9c4bd4ea5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2763851

Change-Id: I2d35697637c6a8ff08eecd48b5dd44faae11bfc1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-27 21:49:37 +00:00
Mikhail Naganov
8506491475 audio: Align Module::getMmapPolicyInfos behavior with legacy
When there are no device ports supporting MMAP,
Module::getMmapPolicyInfos have to return 'Policy::NEVER'
so that the AAudio code does not attempt to use
the AAudio service. This aligns with the use of sysprops
by the HIDL implementation.

Update AudioCoreModule#GetMmapPolicyInfos test to use
the same logic for determining MMAP support as the framework
uses.

This makes CtsNativeMediaAAudioTest cases passing with
the AIDL HAL on Cuttlefish.

Bug: 302049825
Test: atest VtsHalAudioCoreTargetTest
Test: atest CtsNativeMediaAAudioTest [w/AIDL enabled on CF]
Change-Id: Ie58c408f6f648a8a03b6a5d92118b90061389c50
2023-09-26 17:20:58 -07:00
Shunkai Yao
dcfc268767 Merge "Effect AIDL: correct some code format" into main am: 697e3f89a7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2757992

Change-Id: Ie617eee8dbf3eda1c2c90d4014d1fe0a0e359d79
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 21:23:33 +00:00
Shunkai Yao
8771cecb99 Effect AIDL: correct some code format
Bug: 300735428
Test: atest VtsHalAudioEffectTargetTest
Change-Id: Ic4c925ea14e08418e56ad108468f61b049280f70
2023-09-21 17:58:42 +00:00
Treehugger Robot
c39ed27778 Merge "Effect AIDL: Skipping vts test case if its not supported by effect" into main am: 4f2a709416
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2755205

Change-Id: Iabf41d3f3b8ad56a106da445fcf613788d142e63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 17:38:17 +00:00
Treehugger Robot
4f2a709416 Merge "Effect AIDL: Skipping vts test case if its not supported by effect" into main 2023-09-20 16:57:23 +00:00
Shunkai Yao
92cd748451 Effect AIDL: Skipping vts test case if its not supported by effect
Check audioModeIndication/audioSourceIndication/volume flags and only
test if they are supported

Bug: 300735428
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I539b408fcdb73c25984ec8f39b401475a3ccab69
2023-09-19 21:31:22 +00:00
Mikhail Naganov
f494fb43a9 Merge "audio: Improve testing of point-to-point connections" into main am: 049a82e5d9
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2753112

Change-Id: I2bd9cef92786b85abe73d6092ea6960ec8c27d91
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 17:06:02 +00:00
Mikhail Naganov
fe47b00628 audio: Improve testing of point-to-point connections
Point-to-point connections (analog, HDMI, SPDIF) do not use
a device address. Reflect that in `GenerateUniqueDeviceAddress`.
Add an analog headset into the test configuration.

Bug: 300648357
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Id1d0b1b60df40c2474fe3151067152b8e0a261c3
2023-09-15 18:58:17 -07:00
Mikhail Naganov
e3b1829528 Merge "audio: Fix handling of external devices disconnection" into main am: a39e854ef5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2751285

Change-Id: I3a293e643158e46881c8e574dc3ef38682a736a7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-14 20:43:59 +00:00