Commit Graph

545 Commits

Author SHA1 Message Date
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
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
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
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
Treehugger Robot
1d9bf983a3 Merge "audio:aidl: Use module type in log prints" into main 2024-03-11 17:21:23 +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
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
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
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
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
Shunkai Yao
8fcfd41a72 Merge "Effect AIDL: add Spatializer default implementation to Cuttlefish" into main am: ac270bcbe2
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2959644

Change-Id: Idfc6d94b03fd276eef06eae790f45918ea30048e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 17:49:58 +00:00
Shunkai Yao
c7f5c2dd83 Effect AIDL: add Spatializer default implementation to Cuttlefish
Bug: 273373363
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ib49d62c61de831c8147c935799d22be78950488f
2024-02-13 02:11:12 +00:00
Shunkai Yao
35f4bb6089 Merge "Add backward compatibility in effect hal default implementation" into main am: 3ed9b6bbce
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2951489

Change-Id: If5d00b8810e95e0a870fe455951572d687da33cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-06 18:58:18 +00:00
Jooyung Han
6b6d0ef23c Merge "Revert "Install bluetooth audio VINTF fragment in apex"" into main am: c5c0b5eb6a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2951227

Change-Id: Ia075e0a1eecf75781f243947a53536eb2a688e19
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-06 06:40:20 +00:00
Ke-Yu Lu
e9f8c8c4f5 Revert "Install bluetooth audio VINTF fragment in apex"
Revert submission 2949647-bt-audio-vintf

Reason for revert: b/323989115

Reverted changes: /q/submissionid:2949647-bt-audio-vintf

Change-Id: Ie335aa9a0ad2bb847cabe6f85ef37352e9065e3a
2024-02-06 04:04:01 +00:00
Jooyung Han
e5596af7e1 Merge "Install bluetooth audio VINTF fragment in apex" into main am: 0cacd8c7f5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2949685

Change-Id: I043fbc9d39e21537b05e66d31d962addaaf8eb02
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-06 01:20:20 +00:00
Shunkai Yao
7e2c3719ff Add backward compatibility in effect hal default implementation
Skipping the reopen sequence for unsupported version
Add member initialize for EffectContext

Bug: 322780092
Test: latest libAudioHal with V1 effect HAL
Test: atest VtsHalAudioEffectTargetTest

Change-Id: I597194e5ebf25566d5adda533e151da2e99781f4
2024-02-05 22:58:54 +00:00
Jooyung Han
92ca5545ca Install bluetooth audio VINTF fragment in apex
Previously, android.hardware.bluetooth.audio-impl was installed with no
use and the attached vintf was fulfilled by the
com.android.hardware.audio apex.

For cleanup, we no longer install android.hardware.bluetooth.audio-impl
separately (for cuttlefish) and install the VINTF inside the apex.

Bug: 312265159
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I31e0ccd6a8c3c00565159f2be7fe3bf4d70e9ddf
2024-02-05 11:04:02 +09:00