Commit graph

2428 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Shunkai Yao
4181e7db41 Merge "Effect AIDL: add AudioTrack metadata as a common parameter for effects" into main 2023-12-01 18:29:21 +00:00
Cole Faust
85b661ae19 Remove symlink to audio_effects_conf.xsd
A change is being made so that sandboxed actions need to add a
dependency on the targets of the symlinks they use. All xsd_config
modules use sandboxing by default.

In this case, the symlink isn't necessary, and we can just depend
on the audio_effects_conf_V2_0 genrule instead.

Bug: 307824623
Test: Presubmits
Change-Id: Ia3c2e8adced78b39881d8c0390c881c0d28ecde4
2023-11-30 14:13:28 -08:00
Treehugger Robot
e2912b9c83 Merge "Remove symlink to audio_effects_conf.xsd" into main am: f75750965f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2853029

Change-Id: I1da99bc70377ee3dd00eed40f5494aa7c47883df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-30 03:15:48 +00:00
Treehugger Robot
f75750965f Merge "Remove symlink to audio_effects_conf.xsd" into main 2023-11-30 02:15:49 +00:00
Cole Faust
36efc06267 Remove symlink to audio_effects_conf.xsd
A change is being made so that sandboxed genrules need to add a
dependency on the targets of the symlinks they use.

In this case, the symlink isn't necessary, and we can just depend
on the audio_effects_conf_V2_0 genrule instead.

Bug: 307824623
Test: m audio_effects_conf_V4_0
Change-Id: I6ddaa81e08d7c4a9c29412b11a08f1d6b88689b5
2023-11-29 13:49:21 -08:00
Devin Moore
cc1365ffec Merge "Register bluetooth.audio in the audioservice AIDL example" into main am: 6504238fd7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850408

Change-Id: I722ea95b33d284b7b6ae2dc1efd253e0d7558e88
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-29 19:24:31 +00:00
Devin Moore
6504238fd7 Merge "Register bluetooth.audio in the audioservice AIDL example" into main 2023-11-29 18:15:31 +00:00
Shunkai Yao
421ca19c14 Effect AIDL: add AudioTrack metadata as a common parameter for effects
Bug: 307368176
Test: m android.hardware.audio.effect-update-api
Test: atest --test-mapping hardware/interfaces/audio/aidl
Change-Id: I5affc96c09445a425361f326f728b8ef9b04daee
2023-11-29 17:04:58 +00:00
Mikhail Naganov
b4e75acbb9 Merge "audio: Fix parsing of I/O flags from XML config" into main am: 1a7cdeef2b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850161

Change-Id: Idbf91f8e6104b3b972f1fa987a6967fff9782ba0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-29 04:22:33 +00:00
Mikhail Naganov
1a7cdeef2b Merge "audio: Fix parsing of I/O flags from XML config" into main 2023-11-29 03:12:06 +00:00
Mikhail Naganov
37fe9e84b5 audio: Fix parsing of I/O flags from XML config
The XML parser was missing a step to convert a value
from legacy domain into AIDL.

Bug: 293384960
Test: parse config with AUDIO_OUTPUT_FLAG_VOIP_RX
Change-Id: I1e7778cbf093c2a393e9b2431c9a72b6020cf7be
2023-11-28 17:12:25 -08:00
Devin Moore
0b2b93dccd Register bluetooth.audio in the audioservice AIDL example
android.hardware.bluetooth.audio should really be registered in its own
process, but this is a temporariy solution that is similar to the
old HIDL example.

Test: launch_cvd
Bug: 312265159
Change-Id: Ib60e2654d3b751bedf256d90de72921210174fe4
2023-11-29 00:13:18 +00:00
Mikhail Naganov
4b200f5e55 Fix after aosp/2836447 am: d664a63cf4
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2848064

Change-Id: I4c364ff7936054a59ea4fe81bed4772ff0e16d5a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-28 03:04:44 +00:00