Bug: 349290628
Bug: 315234036
Test: m packages/modules/Bluetooth
Flag: com::android::bluetooth::flags::is_sco_managed_by_audio and HFP session type only enabled when flag is enabled
Change-Id: I952f8baf347084d57162fdfd767259157f39962e
Bug: 345303008
Change-Id: I0de7fcfaa64ae94e3a78d03685e661c51416ae64
Test: m packages/modules/Bluetooth
Flag: com::android::bluetooth::flags::is_sco_managed_by_audio and HFP session type only enabled when flag is enabled
New format eliminates the need for allocation and
deduplicates many configurations.
We change the file name of the default set configuration
for intergration with vendor's configuration.
We also support storing the configuration name in
the vendor's metadata for easier debugging.
Bug: 331490291
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I0f6cfbdad1da05c35d7c758c69d7030527e1f46a
Bug: 331941704
Flag: exempt, only turn on capability does not effect stack behavior
Test: m com.android.btservices
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I36bf1e2183f237988cc77465a486e70b942409f5
When we match with the remote capabilities, we don't filter by
preferred audio context, since they are suggestion.
Instead, we populate settings into 2 separated vector:
- Matched settings with matched preferred context,
- Matched settings,
We then filter by the first vector, then by the second vector.
Bug: 306225778
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: I03f322e8de509127d218a9de6b41dd39b2ebdcba
Add defaults for the case when the library is used
from within 'target/android'.
Also, switch 'BluetoothLeAudioCodecsProviderTest' to use
'defaults' instead of hardcoding the interface module version.
Bug: 307310023
Test: m
Change-Id: I7e5e70efe6a733367a8b5cbe5cffbfddf610cc6b
Aconfig flagging storage is migrating to a new underlying storage, which
has new dependencies. Add the dependencies as a defaults.
Bug: 328444881
Test: m
Change-Id: Idca333a4f4198ac5c8724a9696a9f68433a5f39b
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
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
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
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
- 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
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
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
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
This reduces the code size by not generating unnecessary code for
non-root elements.
Bug: 283700992
Test: m
Change-Id: I23bd5c2a0ccc40fded3ca08155ead5f4680c2ed9
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
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
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
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
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
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
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