Commit Graph

93 Commits

Author SHA1 Message Date
Shunkai Yao
0d523099ac 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
Change-Id: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
2023-10-18 19:29:12 +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
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
Patty Huang
f5b38af6df Always use audio_configuration_changed_cb_ to notify the config update
There is a new API `isStreamActive` can indicate the stream handle
state. We don't need to use soft_audio_configuration_change_cb to
update the connection map and audio location

Bug: 249614160
Bug: 277857154
Test: LE audio offload disappear and later join with downmix enable
Change-Id: I02357ebe09425525e356ba0f793a3f081953d866
2023-04-13 10:31:20 +08:00
Sagar Verma
62df910355 BT: AptxAdaptive LE/LEX codec and AAC ABR AIDL Changes
AptxAdaptive LE/LEX codec and AAC ABR AIDL side changes

Bug: 254567319
Tag: #feature
Test: m android.hardware.bluetooth.audio-freeze-api &&
      m android.hardware.bluetooth.audio-update-api &&
      atest VtsHalBluetoothAudioTargetTest
Change-Id: I74a2df64ba6ef2ae02e08850b0f6c7784b24b02b
2023-02-22 09:19:17 +05:30
Rongxuan Liu
6945dd3bb3 Update android.hardware.bluetooth.audio to V3
Tag: #feature
Bug: 266740545
Test: m android.hardware.bluetooth.audio-update-api &&
      atest VtsHalBluetoothAudioTargetTest
Change-Id: Ia92043aeedf12a8c68d7f4ee18a1dd52ac5a252f
Merged-In: Ia92043aeedf12a8c68d7f4ee18a1dd52ac5a252f
2023-02-10 04:11:44 +00:00
Patty Huang
ac077efa16 Parse broadcast offload capabilities
1. Parse the broadcast capability from capability file
2. Convert broadcast HAL format to stack format
3. Update test to validate broadcast capability parsing
4. Correct the map size before accessing in VTS test

Tag: #feature
Bug: 242472419
Test: atest BluetoothLeAudioCodecsProviderTest
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I8ac88c1e9024ca03757620bf48eacdd60ada7eb4
2022-11-24 19:32:39 +08:00
shihchienc
d7f565a943 Add BluetoothLeAudioCodecsProvider Unit Test
Add unit test for BluetoothLeAudioCodecsProvider and simplify
the public interface of BluetoothLeAudioCodecsProvider class

Bug: 253569201
Test: atest VtsHalBluetoothAudioTargetTest
Test: atest BluetoothLeAudioCodecsProviderTest
Test: manual test
Change-Id: I064eb4058b129a571cf9dbb91b85bafe7236b735
2022-11-01 06:36:30 +00:00
Treehugger Robot
a59abdd935 Merge "Add soft_audio_configuration_changed_cb_ to handle the streamMap changed" 2022-09-20 07:24:12 +00:00
shihchienc
8ed901a977 Expose different offload audio capabilities by project
The current LE audio offload capabilities is hardcode in the
Bluetooth audio HAL. It has the limitation that all the project
would expose the same capabilities. As the newer project comes,
if the ADSP or the controller could handle more configuration
with higher quality or higher bandwidth. It would impact older
project may not work on it. So we plan the feature to make the
le audio offload support to be more flexible.

Bug: 238983662
Test: 1. atest VtsHalBluetoothAudioTargetTest
      2. make sure offload capabilities can be supported with those
         devices having config XML file
Change-Id: Id82581fdcd22e38108f17c7942bca997b53bab35
2022-09-13 15:19:03 +00:00
Alice Kuo
851ef342ed Add soft_audio_configuration_changed_cb_ to handle the streamMap changed
Based on the stream status and Bluetooth Audio Session to switch the
different configuration_changed_cb_ notifcation.

audio_configuration_changed_cb_ for the context type handover case
soft_audio_configuration_changed_cb_ for the streamMap changed during
media stream case

Bug: 231084798
Test: LE audio offload later join and disappear with downmix enable
Change-Id: I199c2b765b128875fb2c66abb1a500e4a6c820b7
2022-09-13 00:06:42 +08:00
Treehugger Robot
56ff7775f4 Merge "le_audio_offload: Support two sources for conversational" am: 5b4464928a
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2058869

Change-Id: I997da918ceece45e17d1c607d4d15ca8a2ca9ca3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-09 03:01:20 +00:00
Treehugger Robot
5b4464928a Merge "le_audio_offload: Support two sources for conversational" 2022-08-09 02:42:58 +00:00
Patty
51f165b314 le_audio_offload: Support two sources for conversational
Tag: #feature
Bug: 241775706
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I1bc59d09ec2ad3a8e65712c2fa099e806cce3c2d
2022-08-08 15:44:14 +00:00
Alice Kuo
fb6b495535 Bluetooth audio hal check broadcast configuraiton for the broadcast offload am: ee398a93f5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2147741

Change-Id: I913250b6070b9d16bd03669c7fe078ea6c5bcbab
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-13 05:20:27 +00:00
Alice Kuo
ee398a93f5 Bluetooth audio hal check broadcast configuraiton for the broadcast offload
The patch contains the following changes
1. Check the broadcast audio configuration as starting broadcast offload
   session
2. Update audio configuration checker for broadcast offload
3. Remove the IsOffloadLeAudioConfigurationValid function that the audio
   configuraiton is invalid as session started, so we don't need to
   check it at that time

Bug: 210987580
Test: start the offload broadcast stream, and check the session status
Change-Id: I60b1b506051873f6d942f2febace6562634fc12a
2022-07-13 04:39:00 +00:00
Alice Kuo
3034ecf2b3 Supoort audio configuration update to audio HAL for broadcast offload am: 36a879796b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2148553

Change-Id: I35f75c717ba2c0a256532ca4a59b2a2e16b1cfa6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-07 22:20:02 +00:00
Alice Kuo
36a879796b Supoort audio configuration update to audio HAL for broadcast offload
Bug: 210987580
Test: start the broadcast offload, check log
Change-Id: Iadae625d10ad179089b952ac94ff66ae90a6236e
2022-07-08 00:35:08 +08:00
Omer Osman
b229ac5fd1 Merge "Add Opus to BT Audio HAL and update version to V2" into tm-dev 2022-05-13 16:54:28 +00:00
Omer Osman
a2587da5b2 Add Opus to BT Audio HAL and update version to V2
This CL adds Opus as a supported A2DP codec to the BT Audio HAL and
updates HAL compatibility matrix.

Bug: 226441860
Test: A2DP sink device using bds-dev
Change-Id: I21249e3e7e76412af7ed62a3fc9ec133434cf963
2022-05-12 05:56:08 +00:00
Łukasz Rymanowski
4d14c1edba Add 32kHz as supported setting
Bug: 230550335
Test: Build, test audio
Change-Id: I94c4c54092d0afb71aee555fa46936e228397444
(cherry picked from commit 12f82bb40c)
Merged-In: I94c4c54092d0afb71aee555fa46936e228397444
2022-05-12 12:03:51 +08:00
Łukasz Rymanowski
12f82bb40c Add 32kHz as supported setting
Bug: 230550335
Test: Build, test audio
Change-Id: I94c4c54092d0afb71aee555fa46936e228397444
2022-05-06 17:17:04 +00:00
Patty Huang
bdf65ba94f Support 24k and 32k config for LE Audio Offload
Bug: 230402180
Test: Manual
Change-Id: If4931999009b27423adeab3af50238dd6d8c8637
(cherry picked from commit f4e3551eb1)
Merged-In: If4931999009b27423adeab3af50238dd6d8c8637
2022-05-04 17:31:51 +08:00
Patty Huang
f4e3551eb1 Support 24k and 32k config for LE Audio Offload
Bug: 230402180
Test: Manual
Change-Id: If4931999009b27423adeab3af50238dd6d8c8637
2022-04-28 10:53:29 +08:00
Alice Kuo
adcceec9ad Add A2dp decode software and offload session type
1. Add the interface
2. Add the default implementation
3. Add VTS

Bug: 206601670
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I54d8037eeb09312c9f1fb75d2167cc50ac7cae8c
2022-03-29 15:09:50 +08:00
Chen Chen
3b46c05d95 SpatialAudio: fix crashes in BluetoothAudioSession
Bug: 224578221
Bug: 214615268
Test: build
Change-Id: I0fd7e0887200e39dc996b0d84de421ec13897e94
2022-03-14 18:04:27 -07:00
Cheney Ni
6ecbc76603 SpatialAudio: Export LatencyMode functions to BluetoothAudioSession
BluetoothAudioSession utility supports latency control functions, so
audio_bluetooth_hw can get / set the LatencyMode easily.

Bug: 214615268
Bug: 218708371
Test: build
Tag: #feature
Change-Id: Ia85581c74fc91f406309539755d60d36c173f5e0
2022-03-08 11:55:41 +08:00
Chen Chen
0a68a920cc SpatialAudio: Init codec and buffer size from startStream()
Bug: 214615268
Test: build
Tag: #feature
Change-Id: I26d82da0dfc82fcb6cab6b879bced8e892e8cf44
2022-02-24 18:40:27 +00:00
Alice Kuo
921760d9a7 Remove bluetooth.audio@2.2 default implementation and utils handles
Bug: 204585486
Test: a2dp software/offload, le audio software/offload verified pass
Change-Id: I7c8f32dd294562052ff5af73e6f3c48642c03fe4
2022-02-21 10:52:39 +08:00
Josh Wu
5d50dc098d BtAudio: Handle bcast hw offloading codecs
Test: atest VtsHalBluetoothAudioTargetTest
Bug: 203490261
Change-Id: I0631838b4cc0462e3aadc581226d43f43a446d29
2022-02-15 09:19:05 -08:00
Chen Chen
585dc0b0b2 Merge "SpatialAudio: Remove codec interface from audio HAL. Codec switch logic will be inside Bluetooth" 2022-02-14 19:26:29 +00:00
Chen Chen
359bf32091 SpatialAudio: Remove codec interface from audio HAL. Codec switch logic will be inside Bluetooth
Bug: 214615268
Test: Build
Tag: #feature
Change-Id: Ic2a997614e16abfd745c80dc87ecf5d340497691
2022-02-11 12:25:27 -08:00
Greg Kaiser
42d931a271 Use parens to fix output
We want our ternary conditional to evaluate before the << operator,
so we use parenthesis to make this happen.

Bug: 214615268
Test: TreeHugger
Change-Id: I0efb22487d0cf3778f8a12d2391a0f1a7a87995d
2022-02-11 06:45:43 -08:00
Chen Chen
9e09eec46b Merge "Spatial Audio: Implement setLowLatencyAllowed functions in BluetoothAudioSession" 2022-02-11 00:53:24 +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
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
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
Treehugger Robot
2617347b0b Merge "Correct the offload capability and update comment" 2022-02-09 10:36:38 +00:00
Alice Kuo
303c0f1eb9 Merge "BT: Aptx-Adaptive AIDL changes" 2022-02-08 23:07:15 +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