Commit Graph

2691 Commits

Author SHA1 Message Date
Shraddha Basantwani
a3d4847794 Audio Effect : Add checks to validate the channel count
Bug: 302036943
Test: atest audioeffect_analysis
Change-Id: Ic64394e646fa23e02e499c2f01ef3bd4490450d2
2024-01-09 10:37:54 +00:00
Mikhail Naganov
e3ed739865 Merge "audio: Fix the type used for timekeeping" into main 2024-01-04 01:26:12 +00:00
Shunkai Yao
d090afe1af Update comment about headTrackingSensorId
Bug: 317405349
Test: m, aidl-format
Change-Id: I5f4b0e931c073d87b1a30a55c39e614d24a63030
2024-01-03 19:50:15 +00:00
Mikhail Naganov
878afae8f8 audio: Fix the type used for timekeeping
On 32-bit builds, the 'long' type is 32 bit. Thus, it can not
be used to store the value returned from 'uptimeNanos'.

Bug: 318055805
Test: atest CtsMediaAudioTestCases
Change-Id: I4abf72415b7241728d3ddb1d11043dfd59a8d08a
2024-01-03 11:27:31 -08: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
27719f12e8 Revert "Add remote submix direct paths"
This reverts commit ce9767a966.

Please see the comment on aosp/2832731. This configuration
leads to anomalous framework behavior.

Bug: 311830316
Test: atest audiorouting_tests
Change-Id: I5be3ac18819e297aa199c5a0f5d2e85758448b4b
2023-12-27 15:54:30 -08: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
Mikhail Naganov
eafa78c929 Merge changes from topic "fix-aidl-mix-ports-and-bt" into main
* changes:
  audio: Fix BT AIDL HAL module implementation
  audio r_submix: Suggest configuration from the peer
  audio: Refactor configuration population
2023-12-27 03:42:02 +00:00
Mikhail Naganov
a88cf60b87 audio: Fix BT AIDL HAL module implementation
In order to align with legacy behavior, when opening a stream,
the module must suggest the current configuration of the BT session.
For that to work, the BT device proxy must be opened prior
to creating a stream, code moved to ModuleBluetooth.

Fix minor inconsistencies and bugs found during testing.

Bug: 301213930
Bug: 316027906
Test: atest pts-bot
Change-Id: I04ddaf73be82f872a3f32a789563c3cbd648eb61
2023-12-26 16:34:58 -08:00
Mikhail Naganov
3b732895a8 audio r_submix: Suggest configuration from the peer
When there is a pipe established for a remote submix
device, suggest the configuration of the peer when opening
the other end.

Refactor SubmixRoute management to move it out from
StreamRemoteSubmix so that ModuleRemoteSubmix could also
use it.

Bug: 294962274
Test: atest audiorouting_tests
Change-Id: Ib31a662e7b65b92c614dc441a01160cae3485f3a
2023-12-26 10:31:43 -08:00
jiabin
d470926597 AHAL: update doc for prepareToDisconnectExternalDevice.
Bug: 317405349
Test: make
Change-Id: If6c61a851c2e565ab16eb738b9dc0d42ebc04b05
2023-12-21 23:20:56 +00:00
Mikhail Naganov
a92039ac48 audio: Refactor configuration population
In 'Module::setAudioPortConfig' allow subclasses to provide
their own suggested configuration.

In 'Module::populateConnectedDevicePort' provide the ID of
the device port instance that will be created as a result
of connecting an external device.

Also, expose 'ModuleDebug' flags to subclasses so that they
can know when device connections are simulated.

Bug: 264712385
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Iceb2bdeb61c3470554b592fe197efa54d3b9e578
2023-12-20 14:31:47 -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
Dean Wheatley
ce9767a966 Add remote submix direct paths
Explicitly reject remote submix non PCM input or output streams.

Bug: 311830316
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I3da9282d0f4ecb91dea65f784294e94436765538
2023-12-14 16:06:40 +11:00
Mikhail Naganov
6f69fb3608 Merge "audio: Fix remote submix behavior with multiple inputs" into main am: fb29f53f53 am: 06fef676a6 am: 6603708d1e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2871775

Change-Id: I5b12d76acfd7229554c730b0526685022688276d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 19:32:38 +00:00
Treehugger Robot
0d3349c717 Merge "AHAL: add API to notify the HAL module about disconnecting device." into main 2023-12-13 18:40:21 +00:00
Mikhail Naganov
fb29f53f53 Merge "audio: Fix remote submix behavior with multiple inputs" into main 2023-12-13 17:45:13 +00:00
Treehugger Robot
e91038dfc4 Merge "Audio AIDL : Pick PreProcessing library for 2 audio effects" into main am: 71f56141e7 am: d02973eac8 am: 56df6b5fa0
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2870276

Change-Id: Iffa33b0a642d62d1d1a0cbebc1ea3320b1b4c237
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 08:44:13 +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
Mikhail Naganov
7b234d483f audio: Fix remote submix behavior with multiple inputs
Align the behavior of the new implementation with the legacy
implementation in the case when the client opens multiple
input streams on the same remote submix device.

Reduce the HAL buffer size to match legacy behavior.

Bug: 264712385
Test: atest CtsVirtualDevicesTestCases --test-filter=".*VirtualAudioTest.*"
(cherry picked from commit a83c8a5518)
Change-Id: I6f5e6a2c133059c66269b1bdd8a30392db282c4d
2023-12-12 15:55:22 -08:00
Shunkai Yao
829179e29c Merge "Revert "audio: Fix remote submix behavior with multiple inputs"" into main 2023-12-12 23:20:48 +00:00
Shunkai Yao
0347f0eff0 Revert "audio: Fix remote submix behavior with multiple inputs"
Revert submission 2862771-cuttlefish_aidl_audio-2

Reason for revert: b/316027906

Reverted changes: /q/submissionid:2862771-cuttlefish_aidl_audio-2

Change-Id: I68932be8dad4b4fd4214d0ae6fc01202727f1658
2023-12-12 22:55:59 +00:00
Mikhail Naganov
79f7fd088d Merge "audio: Fix remote submix behavior with multiple inputs" into main 2023-12-12 21:11:55 +00:00
jiabin
bc79ff19e8 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
2023-12-12 17:44:28 +00:00
Sneha Patil
71b814c4b7 Audio AIDL : Pick PreProcessing library for 2 audio effects
Bug: 305866207
Test: atest VtsHalAECTargetTest
Test: atest VtsHalNSTargetTest
Change-Id: I4fcd95abe6834dec13e570ad2ecb5cd4f1bdc1d3
2023-12-12 17:51:00 +05:30
Mikhail Naganov
a83c8a5518 audio: Fix remote submix behavior with multiple inputs
Align the behavior of the new implementation with the legacy
implementation in the case when the client opens multiple
input streams on the same remote submix device.

Reduce the HAL buffer size to match legacy behavior.

Bug: 264712385
Test: atest CtsVirtualDevicesTestCases --test-filter=".*VirtualAudioTest.*"
Change-Id: Ia86a8480495693595dbb501ec58e5d1d238abab2
2023-12-08 09:37:41 -08:00
Yi Kong
62b951e58b Fix -Wunused-variable compiler warning am: 810d41a774 am: 4eeda91a4a am: 76705af803
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2861356

Change-Id: I00242599f1a67f59a8e2f415ffa52231d54007dc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-06 13:50:56 +00:00
Yi Kong
4eeda91a4a Fix -Wunused-variable compiler warning am: 810d41a774
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2861356

Change-Id: I3383d70ff4387df65a0fdcaf0004061e5ad0c9a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-06 12:29:41 +00:00
Yi Kong
810d41a774 Fix -Wunused-variable compiler warning
Test: presubmit
Change-Id: I146d3435fe76da7f300452a14b62ce430c38ae36
2023-12-06 14:03:58 +09:00
Shunkai Yao
bffdaa9d19 Merge "DownmixProcess: Add tests to validate the downmix process." into main am: ab269e2fc7 am: 947f4f776c am: 149564ad7e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2849236

Change-Id: I34f8bdbee50ae15145272544c5546f3ab6aaef15
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-06 02:51:32 +00:00
Shunkai Yao
149564ad7e Merge "DownmixProcess: Add tests to validate the downmix process." into main am: ab269e2fc7 am: 947f4f776c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2849236

Change-Id: I1243ef5458a13b72658ce8d236ce770e0d4552d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-06 02:17:50 +00:00
Shunkai Yao
157e954972 Merge "DownmixProcess: Add tests to validate the downmix process." into main am: ab269e2fc7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2849236

Change-Id: I5e75d980c2e8bfcea9eea304f9f470c95d3a60d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-06 01:28:17 +00:00
Shunkai Yao
ab269e2fc7 Merge "DownmixProcess: Add tests to validate the downmix process." into main 2023-12-06 00:35:39 +00:00
Mikhail Naganov
04b72a2c81 Merge "audio: Adjust after "bus" device type change" into main am: a0df73110e am: 727289b30d am: 2f397365a6
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2858026

Change-Id: I50e5c1f17014823891bf59542066bc13547c2198
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-05 21:01:11 +00:00
Mikhail Naganov
2f397365a6 Merge "audio: Adjust after "bus" device type change" into main am: a0df73110e am: 727289b30d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2858026

Change-Id: Ic8efc0c90748ee2a18e324cbebacbfd03063422e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-05 20:06:55 +00:00
Mikhail Naganov
c9ba98773a Merge "audio: Adjust after "bus" device type change" into main am: a0df73110e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2858026

Change-Id: Idf6666c4f30e3a75cc0f750cfd89b484f798645f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-05 19:37:31 +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
Mikhail Naganov
43269bc713 audio: Adjust after "bus" device type change
The `CONNECTION_BUS` constant is deprecated.
`{IN|OUT}_BUS` should be used instead of `{IN|OUT}_DEVICE`
for clarity.

Bug: 303926380
Test: m
Change-Id: I73365abbcc16550875cf307eafa46b1200698df4
2023-12-04 14:51:49 -08:00
Mikhail Naganov
992921a9af Merge "audio: Fix remote submix module I/O timing and atomicity" into main am: 5260337cbb am: 73ddfafe34 am: bede03bbdf
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2855474

Change-Id: Ic6f8482082084dc5652218473f472a8371c984b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-04 06:16:01 +00:00
Mikhail Naganov
73ddfafe34 Merge "audio: Fix remote submix module I/O timing and atomicity" into main am: 5260337cbb
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2855474

Change-Id: I8009303c123c5475efcc1744372345a37439f782
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-04 05:25:06 +00:00
Mikhail Naganov
5260337cbb Merge "audio: Fix remote submix module I/O timing and atomicity" into main 2023-12-04 04:48:42 +00:00
Treehugger Robot
87b8907482 Merge "Remove symlink to audio_effects_conf.xsd" into main am: a35b13c3a3 am: db66183a36 am: bc977d3f9a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2852787

Change-Id: I707bcccb9c949730d07975a681c84821b5a1147a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-02 08:26:17 +00:00
Treehugger Robot
bc977d3f9a Merge "Remove symlink to audio_effects_conf.xsd" into main am: a35b13c3a3 am: db66183a36
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2852787

Change-Id: I3c7c54d0561c1bbcb46eccbba2e571a3742c8b1c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-02 07:55:37 +00:00
Treehugger Robot
36ddf736c6 Merge "Remove symlink to audio_effects_conf.xsd" into main am: a35b13c3a3
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2852787

Change-Id: Ic85730de1446cf6411cc7d720354cd922fa244a9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-02 07:39:52 +00:00
Treehugger Robot
a35b13c3a3 Merge "Remove symlink to audio_effects_conf.xsd" into main 2023-12-02 06:30:35 +00:00
Mikhail Naganov
0608545377 audio: Fix remote submix module I/O timing and atomicity
Similar to the primary module implementation, align the time
spent in the transfer operation with the duration of audio.

Change the read operation to ingest as much data as possible
during the audio burst duration.

Ensure that checking the existence of a SubmixRoute and adding
a new one is an atomic operation.

Minor improvements to avoid extra synchronization.

In the configuration, change the limit of max open streams to 10
to match the legacy implementation.

Bug: 302132812
Test: atest CtsMediaAudioTestCases --test-filter=".*AudioPlaybackCaptureTest#testPlaybackCaptureDoS"
Change-Id: Iccb6aaac46c039551c3d5f7760b1459168d9cfe5
2023-12-01 16:39:52 -08:00
Shunkai Yao
59e3c1da45 Merge "Effect AIDL: add AudioTrack metadata as a common parameter for effects" into main am: 4181e7db41 am: cbc5cad748 am: 578ecd2f20
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850160

Change-Id: I0f274ef3f864d7dae8b57ec1894f11642a552ff5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-01 19:24:58 +00:00
Shunkai Yao
cbc5cad748 Merge "Effect AIDL: add AudioTrack metadata as a common parameter for effects" into main am: 4181e7db41
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850160

Change-Id: I42f97ff90df079fa1344207402f2ef182b2eba52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-01 18:46:51 +00:00