Commit Graph

2444 Commits

Author SHA1 Message Date
Shunkai Yao
78265377d9 Merge "Effect VTS: update VtsHalDownmixTargetTest for data validation" into main 2024-01-13 03:50:02 +00:00
Treehugger Robot
759fb98667 Merge "audio: Fix handling of a thread exit command with a bad cookie" into main 2024-01-13 00:40:04 +00:00
Mikhail Naganov
1850779bc4 audio: Fix handling of a thread exit command with a bad cookie
In case when the command was sent by the HAL itself (from another
thread), the worker thread must not post a reply. The only case
when a reply needs to be posted is in the case when the command
was sent from a VTS test. This case is identified by the fact that
the cookie has value '0'.

Bug: 300181540
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ifeb0722b5cf7346a694c5a938f6b324f5fa825f1
2024-01-12 13:59:24 -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
Shunkai Yao
3eb2a2c14f Merge changes from topic "effect_reopen" into main
* changes:
  Effect AIDL: implement IEffect.reopen
  Effect AIDL: add IEffect.reopen to update the effect instances data FMQ
2024-01-12 21:06:08 +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
5b15e005a9 Effect AIDL: add IEffect.reopen to update the effect instances data FMQ
The effect instance may choose to reallocate the input data message
queue under specific conditions. For example, when the input format
changes, requiring an update to the data message queue allocated during
the open time.
In such cases, the effect instance can destroy the existing data message
queue, when the audio framework see a valid status MQ and invalid data MQ,
it call reopen to get the new data message queue.

Bug: 302036943
Test: m android.hardware.audio.effect-update-api, m
Change-Id: Ia245b154176f64bc3cc6e6049bca4f9c68ad482d
Merged-In: Ia245b154176f64bc3cc6e6049bca4f9c68ad482d
2024-01-12 17:23:14 +00:00
Mikhail Naganov
18fcb688bc Add android.virtualdevice.cts.VirtualAudioTest to postsubmit
These tests exercise audio playback and capture on CF and are
useful in spotting issues in the audio pipeline end-to-end.

Bug: 316017930
Test: atest CtsVirtualDevicesTestCases
Change-Id: If625cec5bc2d281f1e0d99b820f604f1bac7b621
2024-01-11 09:54:50 -08:00
Treehugger Robot
7fe11fd93d Merge "audio: Add libaudioclient tests to postsubmit for the AIDL HAL" into main 2024-01-10 23:02:04 +00:00
Mikhail Naganov
ff52e4fcba audio: Add libaudioclient tests to postsubmit for the AIDL HAL
These framework-side tests are helpful in detecting breakages
caused by changes in the HAL code.

Add to postsubmit first because the presubmit check does not
allow adding to presubmit without accumulating some history first.

Bug: 311830316
Test: atest
Change-Id: I1f946c71a89117d25f39fde34877988ea7e1d466
2024-01-10 13:47:57 -08:00
Mikhail Naganov
198e8f747c Merge "audio: Improve logging in remote submix module" into main 2024-01-10 17:53:05 +00:00
Treehugger Robot
a10d3c536f Merge "Audio Effect : Add checks to validate the channel count" into main 2024-01-10 01:46:59 +00:00
Mikhail Naganov
9eb3314a24 audio: Improve logging in remote submix module
Implement IModule::dump to display the current state in
the audioflinger dump.

Throttle repetitive logging when there is nothing to read.

Remove stale comment for already fixed b/307586684.

Bug: 307586684
Test: adb shell dumpsys media.audio_flinger
Change-Id: I1f1f6e1658d035d46af3a933a825b20a78c7f297
2024-01-09 14:13:15 -08:00
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
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