Commit graph

768 commits

Author SHA1 Message Date
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
Mikhail Naganov
55e0afa49a audio: Fix glitching of remote submix
Align behavior with the HIDL implementation. This helps
to prevent glitches in the scenarios that use remote
submix for sending audio externally: Auto and Cast.

Bug: 322247032
Bug: 327220024
Test: Repro steps in b/327220024#comment14
Change-Id: If2e4ebd7145375a268ee5f0e4ab656bb3748b2fe
Merged-In: If2e4ebd7145375a268ee5f0e4ab656bb3748b2fe
2024-03-06 10:09:16 -08:00
Mikhail Naganov
4120b99ab6 audio: Align HAL buffer size logic with the framework
When the framework uses mixers, it rounds up the buffer
size to the frame count which is a multiple of 16.
In the HIDL implementation, this adjustment was done after
the framework thread was already created, and FMQ was
created on the first transfer, using adjusted size. In
the AIDL implementation, the FMQ is created together with
the stream, using the size suggested by the HAL.

Bug: 321233946
Test: verify audio playback over S/W A2DP
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f2f9ae08c2ee4e396bbe4b8c7e955bad725ce545)
Merged-In: I35a5479bfc87a290aff09d51415381948857a146
Change-Id: I35a5479bfc87a290aff09d51415381948857a146
2024-03-06 10:09:00 -08:00
Mikhail Naganov
46c433aabd audio: Set correct priority for the SPATIALIZER stream thread
To align with the framework, the thread serving SPATIALIZER
stream I/O must use SCHED_FIFO and realtime priority.
The latter can be set via `audio.spatializer.priority`
property.

Bug: 321233946
Test: adb shell ps -Tl -p <HAL PID>
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:81a14293f4f26bf3af740cc1682c1111d7e1e29d)
Merged-In: I80107c9aa7d86cbfc2f79c2ad05959fc9f7913f7
Change-Id: I80107c9aa7d86cbfc2f79c2ad05959fc9f7913f7
2024-03-06 10:08:50 -08:00
Myles Watson
5f03254e65 Merge "Revert^4 "Install bluetooth audio VINTF fragment in apex"" into main 2024-03-06 13:21:08 +00:00
Myles Watson
530248a928 Merge "Revert^3 "Install bluetooth audio VINTF fragment in apex"" into main am: 285f0a8d36
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2989176

Change-Id: I0d6ef15f4b078b5e3a1cfe8db4ea633386089f79
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-06 00:36:12 +00:00
Shunkai Yao
1ce6b9ea39 Merge "Visualizer: make the range align with VISUALIZER_CAPTURE_SIZE_*" into main am: 555f439645
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2984320

Change-Id: Ia98ae9f2ef0f21c284623ac2adf8e2c9b84c2c9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-06 00:35:26 +00:00
Myles Watson
ddf9a00823 Revert^4 "Install bluetooth audio VINTF fragment in apex"
886bfbed7a

Change-Id: I963bf18d58152fef685fefb2413d2eb7116a3cdb
2024-03-05 22:06:38 +00:00
Myles Watson
285f0a8d36 Merge "Revert^3 "Install bluetooth audio VINTF fragment in apex"" into main 2024-03-05 21:05:50 +00:00
Myles Watson
886bfbed7a Revert^3 "Install bluetooth audio VINTF fragment in apex"
bc0ff1c206

Bug: b/328267880
Change-Id: I1eae6180cd494d70dcf42103c98832442a089725
2024-03-05 19:46:29 +00:00
Shunkai Yao
555f439645 Merge "Visualizer: make the range align with VISUALIZER_CAPTURE_SIZE_*" into main 2024-03-05 17:05:31 +00:00
Treehugger Robot
75aed17303 Merge "Effect Aidl: make EffectFactoryHelper methods static only" into main am: 337c6afb98
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2987144

Change-Id: I89f99dba9530216dd8fe6571eed6a3e290461d7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05 04:49:30 +00:00
Treehugger Robot
337c6afb98 Merge "Effect Aidl: make EffectFactoryHelper methods static only" into main 2024-03-05 03:59:06 +00:00
Treehugger Robot
48fc7fb9ac Merge "Effect Aidl: skipping reopen test for unsupported audio hal" into main am: 4b133e633e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2987138

Change-Id: I5cf1d9fa2b390d7561e541b4fff148832b7bc689
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05 03:18:43 +00:00
Treehugger Robot
4b133e633e Merge "Effect Aidl: skipping reopen test for unsupported audio hal" into main 2024-03-05 02:57:45 +00:00
Jooyung Han
189a837b6d Revert^2 "Install bluetooth audio VINTF fragment in apex" am: bc0ff1c206
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2955647

Change-Id: Id61c0d4324e535fab38977183eb4aa6b3e3f216d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05 02:33:56 +00:00
Shunkai Yao
8a4e9b739f Effect Aidl: make EffectFactoryHelper methods static only
Bug: 327678656
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I57d924d19f38257e32dba95d4de0ca00532c5ab4
2024-03-04 23:28:30 +00:00
Shunkai Yao
9f9fe92911 Effect Aidl: skipping reopen test for unsupported audio hal
Bug: 327678656
Bug: 328009824
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I25a27c780253f84f771148b5c30be57f35dbf39c
2024-03-04 23:01:36 +00:00
Shunkai Yao
1332677998 Visualizer: make the range align with VISUALIZER_CAPTURE_SIZE_*
Bug: 317742497
Test: atest android.media.audio.cts.VisualizerTest
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I5b89c9cead9906966b00fcb2fdb16905ed97b263
Merged-In: I5b89c9cead9906966b00fcb2fdb16905ed97b263
2024-02-29 18:46:00 +00:00
Jooyung Han
bc0ff1c206 Revert^2 "Install bluetooth audio VINTF fragment in apex"
e9f8c8c4f5

Change-Id: Ice6a2a50b966d30db2e375e8bad2b58dad3c5018
2024-02-29 13:05:43 +09:00
Shunkai Yao
7932707660 Spatializer: return supportedChannelLayout as part of parameter am: 759c9cb28b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2977815

Change-Id: Iba2078f7781bbe1b54771c955ca927cd57fdc6b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27 03:04:03 +00:00
Shunkai Yao
759c9cb28b Spatializer: return supportedChannelLayout as part of parameter
Bug: 307368176
Test: atest EffectsFactoryHalInterfaceTest
Change-Id: I1a2a445b5c94cbd02acb4160c7f54d6733bff6aa
2024-02-26 21:49:09 +00:00
Mikhail Naganov
ca403bcd92 Merge "audio: Remove audio effects config from audio HAL VAPEX" into main am: e00f10e0a5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2972254

Change-Id: Ib37f3502b2779ddebf8e0deb17b71d6cf3ef3152
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 19:03:21 +00:00
Mikhail Naganov
e00f10e0a5 Merge "audio: Remove audio effects config from audio HAL VAPEX" into main 2024-02-23 18:18:39 +00:00
Mikhail Naganov
9970dadaa9 Merge "Volume Control: Add tests to validate Volume Control Effect" into main am: 4fbb997e17
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2968207

Change-Id: I9fe1b948ec1f168816258c443b0fc3a5c11e6d35
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 02:50:03 +00:00
Mikhail Naganov
4fbb997e17 Merge "Volume Control: Add tests to validate Volume Control Effect" into main 2024-02-22 02:17:54 +00:00
Mikhail Naganov
07bbadb3e3 audio: Remove audio effects config from audio HAL VAPEX
The audio effects HAL config can vary between different
CF "flavors" and thus must not belong to VAPEX. This is
consistent with handling of audio policy configuration files.

Bug: 318423731
Test: run `atest audioeffect_tests` on cf_x86_64_auto-trunk_staging-userdebug
Change-Id: I0f4ee9a44a3426934f6a055fc8c9ce74a8db78fc
2024-02-21 16:28:35 -08:00