Commit Graph

233 Commits

Author SHA1 Message Date
Bao Do
b487a85993 Fix test run for GSI
GSI used mixed testing procedures, making some HFP session
and LE Audio related functions unavailable when testing with the
latest VTS. This fix enable HAL version checking when testing.

Bug: 315338603
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: Idb0a780a67857c76c93b13f7b3a64436f6fc647f
2024-01-12 11:13:19 +08:00
Treehugger Robot
61ef14ec09 Merge changes Iab6235b5,I19b7d1af,I1806d8a2,I8589ef14 into main
* changes:
  Fix LeAudioCodecProvider failing offload setting file parsing
  Fix the bogus configs default-constructed as a2dp configs
  Fix filling the configuration map
  Skip unsupported functinality tests
2024-01-10 21:28:27 +00:00
Jakub Tyszkowski
deecabbd9c Fix LeAudioCodecProvider failing offload setting file parsing
ParseFromLeAudioOffloadSettingFile() fails when `GetLeAudioCodecCapabilities()`
was already called in the past and `leAudioCodecCapabilities` vector is already
populated. That makes some of the VTS tests fail on
`IsOffloadOutputProviderInfoSupported()` and just return and PASS  without
actually checking enything.

The doubtful checks check variables set at parsed content verification,
and should not prevent us from parsing the file again.

Bug: 319090769
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: Iab6235b5d265bb254ae6075b8c32d0eae0fc1829
2024-01-08 14:57:45 +00:00
Jakub Tyszkowski
06781c028a Fix the bogus configs default-constructed as a2dp configs
When the xml file contains the "invalid" entry in the scenario record,
which do not refer to any valid config in the 'configurationList`
section, the invalid, default constructed codec configuration (a2dp codec)
was created.

Bug: 319090769
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I19b7d1af81e5f2be3fb7261fba8781b3dc47fa12
2024-01-08 14:57:44 +00:00
Jakub Tyszkowski
0259aafb71 Fix filling the configuration map
Bug: 319090769
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I1806d8a20abb9a9756512ae8d433c6c6ff784159
2024-01-08 14:57:43 +00:00
Jakub Tyszkowski
334bf18f8d Skip unsupported functinality tests
Instead of silently passing the tests when some functionality is
not supported, mark these tests as skipped. This way, when we are sure
that some functionality should be verified in a particular test run,
we are not being falsely reported that all have passed successfully
while in reality, there's an actuall issue in the particular functionality
detection mechanism.

Bug: 319090769
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I8589ef14abfb5af641bc98949de1e1acc21efe1a
2024-01-08 14:57:43 +00:00
Jakub Tyszkowski
c8a6224831 LeAudio/multicodec: Add the additional VTS test case
Bug: 308428217
Bug: 307258939
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: Idf8ca8c50e61482506c3c1a5bf5e8962c316a045
2024-01-05 18:12:50 +00:00
Jakub Tyszkowski
4856308c50 LeAudio/multicodec: Fix the async data path getter API
Just like the returned data path configurations are split for each direction,
the function arguments should also have the directional context. The vendor
module might need to know which connection handles in the stream map are for
the sink and which are for the source direction, to provide the proper
data path configurations for each direction.

Bug: 308428217
Bug: 307258939
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I270b6f4631869e2180580c886f0b58bd777d2123
2024-01-05 14:48:23 +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
Antoine Soulier
105eddfc75 Merge "Improve A2DP Bits handling" into main 2023-12-15 19:37:24 +00:00
Antoine SOULIER
e55691fdf1 Improve A2DP Bits handling
Test: m
Bug: 316413963
Flag: EXEMPT small improvement non flaggable
Change-Id: I5b6a6bbb130f9c9222373e3927d23908d1f8a351
2023-12-15 18:42:17 +00:00
Limon Mia
b58cee4af7 BTAudio HAL: Added feature flag for DSA Over LEA
Test: atest VtsHalBluetoothAudioTargetTest
Bug: 270987427
Change-Id: Ifef0b97d20c7c12001b7d04cc7f8ce9da5fb1920
2023-12-15 05:30:09 +00:00
Bao Do
5b2fdab61f Default implementation of getLeAudioBroadcastConfiguration for
LE Audio Offload provider

Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/aidl/default
Change-Id: I5bfb4a84a8222603c64ac51a28b5962825182676
2023-12-13 09:57:34 +00:00
Bao Do
c36897dbd8 Add VTS for LE multi-codec
Bug: 308548462
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: Ia74da644eb8e62bdf0709ba7f375a7e35ccf0936
2023-12-13 07:38:35 +00:00
Bao Do
c4adf243fe Default implementation of getLeAudioAseQosConfiguration
for LE Audio Offload provider

Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/aidl/default
Change-Id: Idffad1de0d06b4892dec1907e42ef1697fe54d60
2023-12-13 07:38:35 +00:00
Bao Do
867af60a77 Default implementation of getLeAudioAseConfiguration
for LE Audio Offload provider

Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/aidl/default
Change-Id: Ic09a1cbd8c85aa33375e8e1521ec03964117ac3a
2023-12-13 07:38:35 +00:00
Bao Do
6112bda436 Add template functions and implement setCodecPriority
for LE Audio offloading provider

Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/aidl/default
Change-Id: I440a007ba3ed148834db1c3874af780b454aae39
2023-12-13 07:38:35 +00:00
Bao Do
be99419521 Parse LE Audio Set Configuration into LeAudioAseConfiguration
Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/utils
Change-Id: Ia08568322e1cee1834e08172781cc77342cbd025
2023-12-13 07:38:35 +00:00
Bao Do
fbc99e05c6 Template and schemas for parsing LE Audio Set Configuration.
Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/utils
Change-Id: I20482faf20a41f04c39e1314db45a07cb5f9956b
2023-12-13 07:38:34 +00:00
Bao Do
6aeb5d7217 Add LE Audio getProviderInfo information
Bug: 306225778
Test: mmm hardware/interfaces/bluetooth/audio/aidl/default
Change-Id: Ieb03a1a3096dbeb6a4e2ac4774ece6d3ef3e33be
2023-12-13 07:38:34 +00:00
Jakub Tyszkowski
ccceb2f3b3 LeAudio: Add empty audio provider implementation
Empty implementation required for sucessfull build.

Bug: 308428217
Bug: 307258939
Test: make
Change-Id: I7ad578f3451edca89233652e331ef5d532925188
2023-12-13 07:38:34 +00:00
Jakub Tyszkowski
8edc51bbbd bluetooth: LE Audio multi-codec extensibility - broadcast
Bug: 308428217
Bug: 307258939
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I50c07be7bd947f095824f3cf4630c0d640921f9a
2023-12-13 07:38:34 +00:00
Jakub Tyszkowski
c11ac5844b bluetooth: LE Audio multi-codec extensibility - unicast
Bug: 308428217
Bug: 307258939
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I9a40c24212cc36829a11b54977d313bef5e652ca
2023-12-13 07:38:34 +00:00
Antoine SOULIER
4e34d05b7b Codec Extensibility A2DP HAL Reference Implementation
Test: m
Bug: 297037759
Change-Id: I84b32c2ef22da8c3e920e497501b9f16feaf803c
2023-12-07 16:51:57 +00:00
Antoine SOULIER
33c4e5a629 Codec Extensibility A2DP Specific AIDL
Test: m
Bug: 297037759
Change-Id: If9a73d2791781ad948ce76b55b9d29f7eba655e4
2023-12-07 16:51:01 +00:00
Bao Do
7239943cb5 Add VTS for HFP sessions
Contains VTS tests for HFP software encoding / decoding
and HFP hardware sessions.

Bug: 265057196
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I4bbdc07a0afa0a889a8cf34019c6685ebd4fa0a0
2023-12-07 05:57:26 +00:00
Yuyang Huang
aa70c11126 Add HFP to BluetoothAudioSession
Test: m .
Bug: 265057196
Change-Id: I0e2e9d0f34ebf3f732c4f2da799c4c30f52bdeef
2023-12-07 05:54:59 +00:00
Yuyang Huang
91d7f8b916 Add HFP default implementation
Bug: 265057196
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I712eb4db0d776b465436ae54730ad883ecaf40a0
2023-12-07 05:54:59 +00:00
Yuyang Huang
e50be86fd4 Add HFP AIDL design
Bug: 265057196
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I066c8c0db7516da8709c32558fe3b21ddbd91054
2023-12-07 05:54:58 +00:00
Antoine SOULIER
8c90f1f7b5 Codec Extensibility Base AIDL
Test: m
Bug: 297037759
Change-Id: I3f440a75aeada6c8739b89f89a6d942488c8ce77
2023-12-04 18:51:16 +00:00
Jakub Rotkiewicz
e70014de66 Upgrade VNDK version to 4
Change-Id: I5566a1ef857f7db6c1dc04fcf16aa16fb6e1063a
2023-12-04 17:52:18 +00:00
Henri Chataing
d1dc2e1283 bluetooth/audio: Apply android.hardware.bluetooth.audio-update-api
Test: TreeHugger
Change-Id: Ie80345adf1723bc9044c2065b9c4ddb95b7e3ea4
2023-11-30 18:25:56 +00:00
Alice Kuo
42b85abe9c Minor handle refine for setLowLatencyModeAllowed
setLowLatencyModeAllowed API is only used for A2DP offload session. For
this case, we shouldn't report ReportLowLatencyModeAllowedChanged
callback for the other session

Bug: 270987427
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I1991ee93b3523717c6ca26b1638e34a196253a5b
2023-11-20 08:24:51 +00:00
Limon Mia
7c48034d32 BTAudio HAL: implement changes for DSA Over LEA
Test: atest VtsHalBluetoothAudioTargetTest
Bug: 270987427
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f6a9577ac7585a5c284896736ba3508f7ed7528a)
Merged-In: I341e3af726da7870e23f5bb0943066ebcdd34e35
Change-Id: I341e3af726da7870e23f5bb0943066ebcdd34e35
2023-11-20 07:56:19 +00:00
Shunkai Yao
195d3d6915 Add defaults for audio AIDL interfaces
- with defaults user don't have to change their Android.bp when there is
  a update
- update AIDL audio interfaces with android.media.audio.common.types
- update Spatialization and HeadTracking AIDL usage

Bug: 273373363
Bug: 293370815
Test: m
Test: lunch panther-trunk_staging-userdebug; m; test Bluetooth Audio
Change-Id: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
Merged-In: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
2023-11-06 19:14:32 +00:00
Alice Kuo
2c8d74fc82 Move APTX_ADAPTIVE_LE and APTX_ADAPTVIE_LEX to configurable am: f850de6732
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2766488

Change-Id: Ic4e755bdc5e132a3f9da26a5890b2fd2dd0d960c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-04 06:51:09 +00:00
Alice Kuo
f850de6732 Move APTX_ADAPTIVE_LE and APTX_ADAPTVIE_LEX to configurable
We should bring the capabilities from the configure file that the device
could have its own capabilties.

Bug: 302173270
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I2cb5194acbe64d7d64cca9b245b26ca5fbac35d4
2023-10-04 04:07:06 +08:00
Xin Li
879960bdce Merge Android U (ab/10368041)
Bug: 291102124
Merged-In: I7b6fffac2ada0e039f79bad8cc9b4d954e9c3460
Change-Id: I9466127d8d0fa38df36ca99f704853b2db871e67
2023-08-25 13:29:30 -07:00
Yung Ti Su
fefceb14d0 enable host_supported for libbluetooth_audio_session_aidl
Test: manual

Change-Id: Iae06114020e5bc4e41fa5caa5df5de8a186dc2ff
Signed-off-by: Yung Ti Su <andysu@google.com>
2023-08-22 09:29:06 +00:00
kuanyuhuang
25b4819e08 BT: add LOW_LATENCY mode if low latency allowed
LatencyMode is not updatable after audio session started.
Currently, if low latency is allowed, audio session should have
LOW_LATENCY latency mode.
Create a workaround to add LOW_LATENCY when low_latency_allowed_ set to
ture at ReportLowLatencyModeAllowedChanged.

Bug: 291760415
Bug: 294498919
Test: play low latency audio with supported headset and check
LOW_LATENCY mode can be selected

Change-Id: Ia324f0a368e47ae8b8056c190d8d1f4a2e09ecec
2023-08-07 05:05:52 +00:00
Mikhail Naganov
d5f0d13ef0 bluetooth: Add AudioSession/Control methods for AIDL track metadata
Add overloads for UpdateSink/SourceMetadata that
accept android.hardware.audio.common.Sink/SourceMetadata types.
Move include of hardware/audio.h to BluetoothAudioSession.cpp.
This allows to use this code from "pure AIDL" modules.

Bug: 228804498
Test: m
Change-Id: Ib0b8c6d1c7db9b846a508d6d4001f67feb2111c6
2023-08-01 13:38:47 -07:00
Ram Mohan
f6497dd78c bluetooth: Fix dependency on android.hardware.audio.common
Make android.hardware.bluetooth.audio-V3 and
VtsHalBluetoothAudioTargetTest to depend on
android.hardware.audio.common-V2. This is needed so that
the audio HAL service can depend on
android.hardware.bluetooth.audio-V3.

Bug: 228804498
Test: m
Change-Id: Ic001e651de4cc6ef6920f1d6d80ab272c45aefe2
Merged-In: Ic001e651de4cc6ef6920f1d6d80ab272c45aefe2
2023-08-01 13:38:47 -07:00
Devin Moore
dfcd3bda4b Freeze android.hardware.bluetooth.audio
This was done in ag/22462586 internally which is too large to
cherry-pick. It's being applied to aosp to unblock some trunk stable
work.

This CL is generated with:
`m android.hardware.bluetooth.audio-freeze-api`

Test: m
Bug: 290265210
Change-Id: Icfcea3d6971dd0b91cd320d9995b70bcb38a3750
Merged-In: I832ab7a8b5445ba85e27bbcf5be64906bfa0e5be
2023-07-31 23:46:41 +00:00
Myles Watson
44628f38d2 BluetoothAudio: Statically link HAL dependencies
Bug: 290666670
Bug: 289857524
Bug: 284091286
Bug: 289489060
Test: mma -j32
Change-Id: I2b3c32b133e208ec2cfb1b244ccb24ad249f22df
2023-07-11 16:08:27 -07:00
Bao Do
00dede017f Add a config with test skipping for SDK < 33
Test: atest VtsHalBluetoothAudioTargetTest
Bug: 288598199
Change-Id: I563c8d50b186f2da2cf077dc3631808f8c2a9eee
2023-07-10 07:43:09 +00:00
Edward Liaw
c01432b259 Merge "TEST_MAPPING: enable vts hal tests in kernel-presubmit" am: 24a8a39219 am: 69771123ba am: ac75f2d41c
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2610093

Change-Id: Id502dbe01f18f68a140290f5f0bf8b709d35bf0e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-01 22:00:27 +00:00
Edward Liaw
24a8a39219 Merge "TEST_MAPPING: enable vts hal tests in kernel-presubmit" 2023-06-01 20:34:33 +00:00
Edward Liaw
24696b3e32 TEST_MAPPING: enable vts hal tests in kernel-presubmit
Enable the following tests:
VtsHalBluetoothAudioTargetTest
VtsHalGraphicsComposerV2_4TargetTest

Bug: 284307085
Bug: 258819618
Test: atest :kernel-presubmit
Change-Id: I8667eaee120777a776339481f72558566e6c94b3
Signed-off-by: Edward Liaw <edliaw@google.com>
2023-06-01 16:08:42 +00:00
Jooyung Han
13f58a77f3 Merge "Set root elements for xsd_config modules" am: ee8374606a am: 5a73645eb0 am: f371c2e7bc
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2596609

Change-Id: Idb0d2297407a5708a8e21362ef39c7a32c371dfd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-30 06:16:20 +00:00
Jooyung Han
16d5af6755 Set root elements for xsd_config modules
This reduces the code size by not generating unnecessary code for
non-root elements.

Bug: 283700992
Test: m
Change-Id: I23bd5c2a0ccc40fded3ca08155ead5f4680c2ed9
2023-05-22 16:43:12 +09:00