Commit graph

34631 commits

Author SHA1 Message Date
Mikhail Naganov
e6214078ba audio VTS: Fix HAL device management
Straighten out logic in DeviceManager for proper handling
of IPrimaryDevice and IDevice instances across all supported
HAL versions.

This fixes a recently introduced bug which was causing
the same HAL device to be opened twice in a row, and then closed
twice.

Bug: 218610286
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I415cbadae9d325ac63160e49e5e638906c8c63fd
(cherry picked from commit 285c0a041c)
Merged-In: I415cbadae9d325ac63160e49e5e638906c8c63fd
2022-02-12 00:35:19 +00:00
Mikhail Naganov
a85cebb63e Make AUDIO_USAGE_NOTIFICATION_EVENT available to HALs
This aligns the list of usages between the framework
and HALs

Bug: 199193042
Test: atest android.hardware.audio@7.1-util_tests
Test: atest android.hardware.audio.common@7.1-util_tests
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I4d7fdbacff87eebcbc8d68dd6ed8cefdd52aa84e
2022-02-12 00:03:49 +00:00
Mikhail Naganov
ec8ef38ad9 audio: Add android.hardware.audio[.common]@7.1-util modules
android.hardware.audio.common@7.1-util and
android.hardware.audio@7.1-util utilize the 7.1 XSD enums
conversion library and thus can work with the new
enum strings added in 7.1

Bug: 218504031
Test: atest VtsHalAudioV7_1TargetTest
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest android.hardware.audio.common@7.1-util_tests
Test: atest android.hardware.audio@7.0-util_tests
Test: atest android.hardware.audio@7.1-util_tests
Change-Id: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e
(cherry picked from commit fa4a4f8da7)
Merged-In: Icc5a354cdc2e377a2a2424c28377bcb0ba05bf4e
2022-02-12 00:03:49 +00:00
Carter Hsu
ff62b259f8 audio: add Ultrasound materials to 7.1
Bug: 200256985
Test: build pass
Signed-off-by: Carter Hsu <carterhsu@google.com>
Change-Id: I50ba1272c0b29e482532010f1aca0b6ec83e925c
(cherry picked from commit bb2fe3f4d5)
Merged-In: I50ba1272c0b29e482532010f1aca0b6ec83e925c
2022-02-11 23:16:53 +00:00
Treehugger Robot
4673d5ab25 Merge changes from topic "upstream-hal-v7_1-p3"
* changes:
  audio: Remove IStreamIn@7.1
  audio: Add IDevice.setConnectedState_7_1 method
  audio: Add recommended mute duration attribute to APM XSD
  Audio: Add memory leak checking for HAL
2022-02-11 18:19:22 +00:00
Chen Chen
9e09eec46b Merge "Spatial Audio: Implement setLowLatencyAllowed functions in BluetoothAudioSession" 2022-02-11 00:53:24 +00:00
Keun-young Park
3e8d4a1e8e Merge "Adding AIDL version 2 of AudioControl HAL" 2022-02-10 22:15:12 +00:00
Chen Chen
81f38e55c1 Spatial Audio: Implement setLowLatencyAllowed functions in BluetoothAudioSession
Bug: 214615268
Test: Build:
Tag: #feature
Change-Id: I01c182b46fe72ee8f7c8e12e59ea2413c423b061
2022-02-10 22:10:56 +00:00
Chih-hung Hsieh
2d028894c7 Merge "Fix cert-dcl16-c warnings" 2022-02-10 18:30:38 +00:00
Mikhail Naganov
4a016add95 audio: Remove IStreamIn@7.1
This has turned out to be an empty interface. By removing
it we save about 100 kB in the interface code.

Bug: 217752112
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I2522653600a254ddcf2c4eac8bed1df69ac11d3d
(cherry picked from commit 893ea21681)
Merged-In: I2522653600a254ddcf2c4eac8bed1df69ac11d3d
2022-02-10 17:45:31 +00:00
Mikhail Naganov
9307992466 audio: Add IDevice.setConnectedState_7_1 method
This is an updated version of IDevice.setConnectedState which
accepts a full AudioPort so that additional data like extra
audio descriptors can be passed to the audio HAL.

Bug: 211601178
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Id746caa32122dabfb83feb5b515bed7717bcb67c
(cherry picked from commit 533f78f411)
Merged-In: Id746caa32122dabfb83feb5b515bed7717bcb67c
2022-02-10 17:45:21 +00:00
Mikhail Naganov
22dc9b9aa4 audio: Add recommended mute duration attribute to APM XSD
Add 'recommendedMuteDurationMs' optional attribute to 'mixPort'
element. This attribute specifies customized mute duration while
switching device's audio path to avoid truncated sound at the
beginning.

The framework is already aware of this attribute, only need
to allow it in the XSD.

Bug: 183344508
Bug: 197823000
Test: m
CTS-Coverage-bug: 215647214
Change-Id: I3be36009d1b5db218c846efe96f078e858283992
(cherry picked from commit b6800fc715)
Merged-In: I3be36009d1b5db218c846efe96f078e858283992
2022-02-10 17:45:13 +00:00
Andy Hung
87edc66e1f Audio: Add memory leak checking for HAL
$ adb shell setprop libc.debug.malloc.program android.hardware.audio.service
$ adb shell setprop libc.debug.malloc.options backtrace=8
$ adb shell setenforce 0
$ adb shell pkill audioserver
$ adb shell dumpsys media.audio_flinger

Test: Check the audio flinger dumpsys as above.
Bug: 186054996
Bug: 187462632
Change-Id: I2e8db14b816cc4cd7e1420c538505bf71fa58c97
(cherry picked from commit 8f836b9499)
Merged-In: I2e8db14b816cc4cd7e1420c538505bf71fa58c97
2022-02-10 17:44:56 +00:00
Treehugger Robot
aedd27a848 Merge "BtAudio: Add AIDL loader entry" 2022-02-10 09:53:42 +00:00
Francois Gaffie
a7e6cd0b73 Adding AIDL version 2 of AudioControl HAL
- Updated APIs to use PlaybackTrackMetadata (aka AudioAttributes)
instead of usage to get rid of usages list limitation.

- Add Gain Callback to notify unexpected gain changed from HAL
(as currently done for Audio Focus).

- Aggregate Callbacks within a unique IAudioControlCallback interface

Bug: b/154906631
Test: build and run VTS tests

Signed-off-by: Francois Gaffie <francois.gaffie@renault.com>
Change-Id: If74d575fad3888b698250a8ec9a6918f7cb294d7
Merged-In: If74d575fad3888b698250a8ec9a6918f7cb294d7
2022-02-10 09:48:04 +01:00
Alice Kuo
f17f24ee52 Merge "Add the BluetoothAudioStatus for the reconfiguration" 2022-02-10 07:39:13 +00:00
Treehugger Robot
d6b3341e55 Merge "Correct the offload capability and update comment(AIDL)" 2022-02-10 06:43:43 +00:00
Treehugger Robot
b8e8c57ac6 Merge changes from topic "bt-broadcast-aidl"
* changes:
  BT: Broadcast AIDL more handle on the default implementation
  BT: Broadcast AIDL simplification
2022-02-10 05:49:31 +00:00
Patty
03cbe7182d Correct the offload capability and update comment(AIDL)
- Add some comments to describe the supported scenario
- Correct the config from mono to stereo, when only one device is
  connected, mono only need one audio channel, for stereo case,
  support 2 audio channels.

Tag: #feature
Bug: 203535499
Bug: 150670922
Test: make build
Change-Id: Id3ea1e96a6b4fd7a209a015fb5c475465e300cdb
2022-02-10 10:07:17 +08:00
Chih-Hung Hsieh
4f4d365aa5 Fix cert-dcl16-c warnings
Bug: 120614316
Test: make tidy-hardware-interfaces_subset
Change-Id: I6bbeddb9990e4771155ec7d49a68f0e161789030
2022-02-09 15:38:45 -08:00
Alice Kuo
e80a576850 BT: Broadcast AIDL more handle on the default implementation
* seperate the provider for unicast and broadcast
* add handle for the audio configuration broadcast offload

Bug: 150670922
Test: make
Tag: #feature
Change-Id: Ie41496be24e3742b2f1fa438bc4ed4b127e72dd0
2022-02-09 12:40:10 -08:00
Jack He
16a154767a BT: Broadcast AIDL simplification
* Extract broadcast as separate session type
* Remove the union from LeAudioConfiguration, but use it
  for unicast configuration only
* Simplify default implementations

Bug: 15067092
Test: make
Tag: #feature
Change-Id: Ib6c3ffb6396a71011abb03a374e58ce27fdf3f39
2022-02-09 12:34:49 -08:00
Xusong Wang
8b389e1123 Merge "Address ANAPIC review comments -- hal." 2022-02-09 18:49:21 +00:00
Alice Kuo
0cd341b245 Add the BluetoothAudioStatus for the reconfiguration
As the PortStatusCallback to notify the control or the audio
configuration change, audio HAL may need the information to know the
BluetoothAudioStatus.

Bug: 197296692
Test: make build
Change-Id: I213ac4389693a6e098ebd3f8ae7e6e66ae8675be
2022-02-09 11:29:48 +00:00
Treehugger Robot
2617347b0b Merge "Correct the offload capability and update comment" 2022-02-09 10:36:38 +00:00
Treehugger Robot
f256758df4 Merge "Spatial Audio: Move setLowLatencyModeAllowed from hidl to aidl" 2022-02-09 06:02:12 +00:00
Alice Kuo
303c0f1eb9 Merge "BT: Aptx-Adaptive AIDL changes" 2022-02-08 23:07:15 +00:00
Treehugger Robot
fc3fdf1a96 Merge "Make os_version optional for StrongBox" 2022-02-08 22:59:29 +00:00
Chen Chen
7cdf8325e9 Spatial Audio: Move setLowLatencyModeAllowed from hidl to aidl
Bug: 214615268
Tag: #feature
Test: build
Change-Id: I37d1ae3408d2ca7ce11d917b1173abb56bde8e76
2022-02-08 13:24:15 -08:00
Treehugger Robot
3baf9dae14 Merge changes from topic "upstream-hal-v7_1-p2"
* changes:
  audio: add new enums for 7.1 HAL
  Audio HAL V7.1: Add latency mode APIs
2022-02-08 19:35:58 +00:00
Chen Chen
c29097a71a Merge "Spatial Audio: Add setLatencyMode and setCodecType API with empty implementation" 2022-02-08 18:53:28 +00:00
Chen Chen
a4c4c61eed Spatial Audio: Add setLatencyMode and setCodecType API with empty
implementation

Bug: 216832331
Test: build
Tag: #feature

Change-Id: I0ccfee39d1f86da81b50f0757de87b6645baacf8
2022-02-08 02:30:17 +00:00
Alice Kuo
7e4ca8a8f8 Restrict the bluetooth.audio@2.2 OWNERS for the small group
Because the version would be removed soon, we restrict owers for this
folder to easier control the work flow

Bug: 204585486
Test: NA
Change-Id: I82dd380b37aab26b8a438b2371c5025d80ee9598
2022-02-08 10:02:16 +08:00
Xusong Wang
8805b2d67c Address ANAPIC review comments -- hal.
- Document that IPreparedModel::execute*WithConfig are for single-time
  usages, and IPreparedModel::createReusableExecution is for reusable
  usages.
- Make PrepareModelConfig::cacheToken a fixed sized array.

Fixes: 215566186
Test: VtsHalNeuralnetworksTargetTest
Test: NNT_static
Change-Id: I9c5a49c46a3eac2828b9eb666f3d742038493121
2022-02-07 14:02:41 -08:00
Nathan Harold
630637627f Merge "Update UsageSetting Cache before comparison in VTS" 2022-02-07 21:59:57 +00:00
Eric Laurent
16894f0e06 audio: add new enums for 7.1 HAL
Add the following enums to 7.1 audio HAL:
- Spatial audio:
   spatializer output flag
   front wide channel masks

- Bluetooth LE
 broadcast audio device

Bug: 187446271
Test: m android.hardware.audio.common@7.1-enums
Change-Id: I9bfb937ece3a07a7844877de5f355ece1141f92d
(cherry picked from commit 5b8529a1da)
Merged-In: I9bfb937ece3a07a7844877de5f355ece1141f92d
2022-02-07 19:55:51 +00:00
Eric Laurent
ed7dfd5f35 Audio HAL V7.1: Add latency mode APIs
Add APis for controlling the latency mode on an output stream.
Latency mode control is optional but mandated if spatial audio with
head tracking is supported over Bluetooth classic audio link.

Bug: 187446271
Test: m android.hardware.audio@7.1-impl
Change-Id: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d
(cherry picked from commit 040984fd44)
Merged-In: I363db3bf7f7b6439e326d0f6f4becc10b3947e7d
2022-02-07 19:54:41 +00:00
Treehugger Robot
e4061de77e Merge changes from topic "upstream-hal-v7_1"
* changes:
  Audio HAL V7.1: Update VTS
  Audio HAL V7.1: Update the default implementation
  Audio HAL V7.1: Interfaces & types
2022-02-07 17:15:52 +00:00
Roopa Sattiraju
7a79c11c44 Merge "Adding bluetooth apex" 2022-02-05 05:56:15 +00:00
Mikhail Naganov
563238913b Audio HAL V7.1: Update VTS
Mechanical updates from global greps. Updated test code
to use new methods from V7.1.

Added missing checks for null pointers in
PcmOnlyConfig...StreamTest::releasePatchIfNeeded for V7.

Bug: 214426419
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
(cherry picked from commit 40fde0bc07)
Merged-In: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
2022-02-05 00:44:59 +00:00
Mikhail Naganov
8140f5660a Audio HAL V7.1: Update the default implementation
Split versions of "common" and "core" types from
the version of the interfaces. "Common" and "core"
versions are set to 7.0.

Implemented new methods of V7.1 interfaces.

Bug: 214426419
Test: m android.hardware.audio@7.1-impl
Test: m android.hardware.audio@7.0-impl
Test: m android.hardware.audio.effect@7.0-impl
Test: m android.hardware.audio@6.0-impl
Change-Id: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
(cherry picked from commit 7d01538eec)
Merged-In: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
2022-02-05 00:44:17 +00:00
Mikhail Naganov
51a7e13849 Audio HAL V7.1: Interfaces & types
Introduced V7.1 of the core HAL. The only added methods of
the interfaces are those for creating objects implementing
the new version. HIDL types are from V7.0.

APM XSD is cloned for adding new enums. Provided the minor
update for the enums utility library.

CTS-Coverage-Bug: 215647214
Bug: 214426419
Test: m
Change-Id: I3caa2fda2fb5d7d8e8292e23fb2cf0e32e05c146
(cherry picked from commit a0cd944914)
Merged-In: I3caa2fda2fb5d7d8e8292e23fb2cf0e32e05c146
2022-02-05 00:43:27 +00:00
Roopa Sattiraju
e01400a7e4 Adding bluetooth apex
Bluetooth uses ISAP interfaces which are radio 1.0 HIDL implementation.
ISAP is not migrated to AIDL and would need to be migrated only if adding
any new interfaces to ISAP. Since the usage is only in 1.0 and 1.1 and 1.2
would be backward compatible, adding bluetooth apex only to radio 1.0.


Bug: 206121418
Test: Compile
Change-Id: I4f387fb0a36518cbef99084421a90a5d2f5c26c2
2022-02-05 00:38:40 +00:00
Nathan Harold
374bec341f Update UsageSetting Cache before comparison in VTS
The final step of the RadioNewtorkTest#setUsageSetting
is to restore the original value to the modem in case it was
changed. After doing that, the locally cached value in the
VTS layer needs to be updated before comparing it with the
originally queried value to ensure that the modem was
restored to its initial state.

Bug: 211819471
Test: m VtsHalRadioTargetTest
Change-Id: Ibdd584d91b16bb779a0cefa2f45d2704cdcf7288
2022-02-04 14:41:00 -08:00
Treehugger Robot
95ad078d75 Merge "Add a top-level OWNERs" 2022-02-04 21:38:21 +00:00
Alice Kuo
2ed773b36d Move owner file on the top of bluetooth.audio HAL folder
Bug: 204585486
Test: NA
Change-Id: I0edd3a9c98a336b5a18000060e026d878dfe7127
2022-02-04 16:28:43 +00:00
Max Bires
9c28a1ed3a Make os_version optional for StrongBox
This change allows the os_version in the DeviceInfo map to be optional
for StrongBox implementations. It also adds the appropriate changes to
the VTS test to relax this requirement.

Bug: 215444522
Test: atest VtsHalRemotelyProvisionedComponentTargetTest
Change-Id: I1695b7c4e7a9bd884fa88c14f9c22bacd38cdbd3
2022-02-03 19:17:38 -08:00
Max Bires
4820b542fa Merge "Enforcing canonicalization of DeviceInfo." 2022-02-04 02:44:54 +00:00
Roopa Sattiraju
85d3fae9c5 Merge "Adding bluetooth apex and min_sdk_version" 2022-02-04 02:11:54 +00:00
John Reck
b09556a1e9 Add a top-level OWNERs
Test: N/A
Change-Id: I21cd4888b3141dd272fcc72e880402b2ca84bc50
2022-02-03 19:58:21 -05:00