Commit graph

291 commits

Author SHA1 Message Date
Grzegorz Kolodziejczyk
b5f2d23e26 Introduce LE Audio software provider for bluetooth audio 2.1
Patch introduces LE Audio software encoding provider for bluetooth audio 2.1.

Bug: 150670922
Tag: #feature
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Change-Id: If668593be7a46c9abcc45d21c5bdb9b493864cc1
2020-10-09 17:54:44 +00:00
Xin Li
36dcf1a404 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I6502829205ede2de914b27e6c2c5c42916af2b39
Change-Id: I7cb06511e43bd1fffd5f80a11dbdf5b1314cfe8e
2020-08-28 13:05:04 -07:00
Dan Shi
ba4d532fee Suppress gtest error for tests without any instance
Bug: 162052785
Test: m -j vts
Change-Id: I8c1a48e6fbd7c8161137902b5332911fa0d7b8b3
2020-07-28 15:12:32 -07:00
Treehugger Robot
3d5e0bb649 Merge "Allow HAL test to pass without instance found." 2020-07-24 18:49:40 +00:00
Dan Shi
c159474b14 Allow HAL test to pass without instance found.
Bug: 162052785
Test: atest
Change-Id: I03c434cdf357dc8340b107fed991389a47febfbe
2020-07-24 10:40:00 -07:00
Cheney Ni
9dfdb686aa BTAudio: report session ended after cleaning up
While Bluetooth stack ending a session, this CL does clean up first, and
then reports the change. All observers are able to get the correct
session state by invoking IsSessionReady() within the change callback.

Bug: 162065063
Test: manually
Change-Id: I920ea578d626d2e5844eb7c8a701636e20d7a219
2020-07-24 22:07:28 +08:00
Jooyung Han
d610435ac4 update hidl .bp
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.

.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.

Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.

Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
2020-07-07 16:22:36 +09:00
Jooyung Han
d18cba85fe update hidl .bp
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.

.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.

Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.

Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
2020-07-02 12:26:37 +09:00
Treehugger Robot
cf4a261ab2 Merge "A2DP: Enable AAC VBR Offloading" am: 8ca3229e06 am: cef200f972
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1341040

Change-Id: Ic19fa70c4ac1366c767a29227b7effa997f6ca08
2020-06-22 17:59:33 +00:00
Ray Kuo
525050c8e6 A2DP: Enable AAC VBR Offloading
Bug: 155826682
Test: Manual
Change-Id: I55df55bbad18ab561493ec9d4d930345056d8c72
2020-06-17 20:25:40 +08:00
TreeHugger Robot
e724855ce7 Merge "Disable framework for some VTS tests" into rvc-dev am: 615e726ebc
Original change: undetermined

Change-Id: I7d72fe8e87aeee60b5527684c9636e7681d693e3
2020-06-02 16:39:41 +00:00
Dan Shi
b2dd35aaf2 Disable framework for some VTS tests
The test doesn't need framework. It seems that the test can be flaky
when framework was stop/started earlier.

Bug: 154445273
Test: atest -a VtsHalBluetoothV1_0TargetTest \
  VtsHalSapV1_0TargetTest \
  VtsHalAudioV4_0TargetTest

Change-Id: I60f62923cfb826c5e33e9885ea08efdbe4c8f57e
2020-05-29 15:40:38 -07:00
Elliott Hughes
69a08536c2 Use libcutils' host implementation directly.
Also remove the tests of the mock property functions themselves, and
rely on the libcutils/libbase testing.

Bug: http://b/151789258
Test: treehugger
Change-Id: I455ef0c2e4f19f6e69b8f65a3b6d4595717c81cd
2020-05-20 09:18:12 -07:00
Suren Baghdasaryan
b5b1621fbc Replace direct pid writes with setting task profiles for bluetooth interfaces
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.

Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ie81da380a9343e098362f5fee5026799c4486e7e
Merged-In: Ie81da380a9343e098362f5fee5026799c4486e7e
2020-05-02 00:33:52 +00:00
Suren Baghdasaryan
4b644d33d7 Replace direct pid writes with setting task profiles for bluetooth interfaces
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.

Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ie81da380a9343e098362f5fee5026799c4486e7e
2020-04-30 13:45:04 -07:00
Steven Moreland
c6e69bde30 Rename vts-core to vts
Bug: 151896491
Bug: 139438327
Test: local build
Change-Id: Ida36f4e10bbdd72f58039f8ee5ae6f61edac4769
Merged-In: Id542b54ba2da1fca03a9c44bf05d0f68793445cf
2020-04-22 00:06:21 +00:00
TreeHugger Robot
1964936593 Merge "Convert VtsHalBluetoothA2dpV1_0TargetTest to be parameterized test" into rvc-dev 2020-04-08 20:29:54 +00:00
Dan Shi
aad51fa000 Rename vts-core to vts
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.

Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
2020-04-07 16:37:40 -07:00
Dan Shi
ba894f81db Rename vts-core to vts
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.

Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
2020-04-07 15:17:02 -07:00
Dan Shi
f8c91f5855 Convert VtsHalBluetoothA2dpV1_0TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalBluetoothA2dpV1_0TargetTest
Change-Id: Ib7ba41f4da12c60658e938fa14c53ba37c74bd1a
Merged-In: Ib7ba41f4da12c60658e938fa14c53ba37c74bd1a
2020-04-07 21:28:26 +00:00
Dan Shi
ac06943cad Merge "Convert VtsHalBluetoothA2dpV1_0TargetTest to be parameterized test" 2020-03-31 19:29:31 +00:00
Alain Michaud
ae4e78df5a bluetooth: Reference Bluetooth core specification 5.2
Test: None
Bug: 151089119
Change-Id: I5c4ade22cda7bb8592625c6d0b7ec4aaf481aadd
Merged-In: I5c4ade22cda7bb8592625c6d0b7ec4aaf481aadd
2020-03-10 17:01:39 +00:00
Alain Michaud
b19aac8c96 bluetooth: Reference Bluetooth core specification 5.2
Test: None
Bug: 151089119
Change-Id: I5c4ade22cda7bb8592625c6d0b7ec4aaf481aadd
2020-03-09 20:12:20 +00:00
nelsonli
036685442b [vts-core] add VtsHalBluetoothV1_0TargetTest to vts-core
Bug: 142397658
Test: $atest VtsHalBluetoothV1_0TargetTest
Change-Id: Ic9efda5d766e35f58f9067d489ca91b1c3c3634e
2020-02-06 16:21:08 +08:00
Dan Shi
4d9b6fef99 Convert VtsHalBluetoothAudioV2_0TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalBluetoothAudioV2_0TargetTest
Change-Id: I024abca2330ffb1fab709c97b01896ce9decba76
2019-12-02 13:47:43 -08:00
Dan Shi
83a02a7aaf Convert VtsHalBluetoothA2dpV1_0TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalBluetoothA2dpV1_0TargetTest
Change-Id: Ib7ba41f4da12c60658e938fa14c53ba37c74bd1a
2019-12-02 11:30:08 -08:00
Jakub Pawlowski
13b4d3150c bluetooth: V1.1
Add ISO

Test: run rootcanal, verify 1.1 HAL can be used
Bug: 144413056
Change-Id: Ic5b33602e1e4ba8e6d16623b9f8c46f674fc476c
2019-11-20 00:47:22 +01:00
Nick Desaulniers
0fd95b2473 [hardware][interfaces][bluetooth] fix -Wreorder-init-list
C++20 will require members in a designated initializer to be in order
unlike C99.

Bug: 139945549
Test: mm
Change-Id: Ie34b4f3400439817bebd30ee0356e35a87c971e5
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2019-10-14 11:04:50 -07:00
Steven Moreland
b3a4d3832e Remove libhwbinder/libhidltransport deps
Since these were combined into libhidlbase.

Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
2019-09-06 01:07:02 +00:00
Xin Li
8190dbeef0 Merge "DO NOT MERGE - Merge Android 10 into master" 2019-09-05 16:53:18 +00:00
Steven Moreland
59d39ab02c Rename a2dp impl as mock.
So that it isn't accidentally used.

Bug: 140115084
Test: codesearching for usages
Change-Id: I2736a875d8a3021ce496847c45259f10aa148bc0
2019-08-30 11:53:44 -07:00
Felix
37298a7616 Merge "Add interface info to .rc files"
am: 98d0f4d52c

Change-Id: Ie6cfbacd523c4b09f77bee3369ec8e88b3fa0419
2019-07-08 12:22:23 -07:00
Felix
551b8d15ce Add interface info to .rc files
Signed-off-by: Felix <google@ix5.org>
Change-Id: I6d70bbdb66c3dce280bf6908c3750316a6f6cf70
2019-06-25 20:00:07 +02:00
Steven Moreland
6d494b2346 Merge "Update hidl makefiles for bpfmt" am: ff0bd741ca
am: 96f40f7b02

Change-Id: Idbf030e4993067bdb8181321bca2de00c9b6f7ef
2019-04-18 14:34:45 -07:00
Steven Moreland
1ae4615d9f Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
2019-04-17 09:38:50 -07:00
Steven Moreland
7f4e21adda Merge "Update makefies: no 'types'" am: 4ee5ec1469 am: bab622f6a6
am: 7224bc9bcf

Change-Id: I434939e0770afa436c532a945542fce30a71ef7d
2019-03-04 16:05:59 -08:00
Steven Moreland
a878aee9ab Update makefies: no 'types'
Bug: 123976090
Test: N/A
Change-Id: I30fb04c81889b62775e1b764b965fdb0f893de17
2019-03-04 11:27:17 -08:00
Steven Moreland
63bf69427b Make audio HAL consistent.
Bug: 124459302
Test: hidl-gen -Lcheck ...
Change-Id: I319fb00ef3a2da3944094228d4801bd9f88c16bb
Merged-In: Ie125d9bb014ee747ce56a59feaca577ab2d9e96c
2019-02-26 09:00:14 -08:00
Steven Moreland
f8a47b7f01 Update makefiles.
Bug: 123976090
Test: N/A
Change-Id: I5fb6c126a090a3fe0fa4829ea9224564133dc1ae
2019-02-11 21:14:16 -08:00
Steven Moreland
94755be332 Merge "Update makefiles." am: b35c23e70c am: b37145e08e
am: d78f1f0d8e

Change-Id: If698913e654c92897db703d865e900e49fe6231d
2019-02-06 12:06:14 -08:00
Steven Moreland
941f105b60 Update makefiles.
Some of these are out of date.

Bug: N/A
Test: N/A
Change-Id: Ibf87fad9981d4e430a0bf797feadbb0bede232fc
2019-02-05 13:14:26 -08:00
Cheney Ni
24be23c073 Implementation of Bluetooth Audio HAL interface v2 am: 47a8309706 am: a0cb02ea1d
am: f7ea9db510

Change-Id: I5d4569240d793f744b78203aaa48254ca0a90bfb
2019-01-31 10:43:00 -08:00
Cheney Ni
c099848540 Merge "VTS for Bluetooth Audio HAL v2" am: 5203e215e2 am: bd032886ea
am: 7fcece8f73

Change-Id: Ie4319f5f95cd5e27cc73425504d1701e6c6aa3ee
2019-01-31 10:41:32 -08:00
Cheney Ni
47a8309706 Implementation of Bluetooth Audio HAL interface v2
This is the default implementation of Bluetooth Audio Hal v2, and 3
providers are defined.

* BluetoothAudioProvider is the default provider, which is a stub when
  no SessionType matched.
* A2dpSoftwareAudioProvider uses to replace the old A2DP legacy module
  and uses IPC via HIDL interface between Bluetooth stack and Audio HAL.
* HearingAidAudioProvider uses to replace the Hearing Aids module which
  uses UNIX socket as IPC and now there is HIDL based interface.

There is also a shared library named "libbluetooth_audio_session.so" to
provide the linkage directly between this HIDL and its HAL module,
bluetooth_audio. With this library, we can break the library dependency
and guarantee those symbols of libraries while compiling.

Bug: 111519504
Bug: 122503379
Test: boot and manual test

Change-Id: I54d86291482b7fb041a3ac3e171b68a4ed7bfa07
2019-01-31 18:16:54 +00:00
Cheney Ni
56d54f1655 VTS for Bluetooth Audio HAL v2
Initial VTS commit for the bluetooth.audio@2.0 HAL

Bug: 111519504
Test: VTS (VtsHalBluetoothAudioV2_0TargetTest) passed

Change-Id: Id607979724182de242c29747218f6b12880d6295
2019-01-30 17:18:32 -08:00
Ajay Panicker
56ac36d3ab Merge "Add getCodecCapabilities as a supported function." am: 7c2fd0b19a am: 79f0e34c83
am: 753b078297

Change-Id: I11a72dbba4b72910cd3ce65b0f80e14bc1e40385
2019-01-24 14:25:00 -08:00
Ajay Panicker
5f0e90ece7 Add getCodecCapabilities as a supported function.
Add the ability to get a list of supported codecs and their capabilites
through the HIDL interface.

Bug: 111519504
Test: Compile
Change-Id: I61dff240a98d59cb99b526d8988d0d0245140ee4
2019-01-23 15:33:59 -08:00
Pavlin Radoslavov
1ea96a3802 Bluetooth Audio HAL interface v2
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:

* The session type can be one of the following:
  - A2DP Software Encoding Datapath
  - A2DP Hardware Encoding Datapath
  - Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
  for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
  interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
  that was missing in the original android.hardware.bluetooth.a2dp@1.0
  HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
  b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
  - PcmDataConfiguration: Audio PCM data configuration
  - EncodedDataConfiguration: Encoded audio data codec configuration.
    It is used only if the HAL is responsible for encoding the PCM audio
    data.
* Added new HAL IBluetoothAudioProvidersFactory.
  It is used to open an audio provider for an audio session as specified by
  the session type and the codec configuration as negotiated with the
  remote device.

Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
Merged-In: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
(cherry picked from commit fcc0732db4)
2019-01-14 03:55:18 +08:00
Pavlin Radoslavov
fcc0732db4 Bluetooth Audio HAL interface v2
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:

* The session type can be one of the following:
  - A2DP Software Encoding Datapath
  - A2DP Hardware Encoding Datapath
  - Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
  for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
  interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
  that was missing in the original android.hardware.bluetooth.a2dp@1.0
  HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
  b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
  - PcmDataConfiguration: Audio PCM data configuration
  - EncodedDataConfiguration: Encoded audio data codec configuration.
    It is used only if the HAL is responsible for encoding the PCM audio
    data.
* Added new HAL IBluetoothAudioProvidersFactory.
  It is used to open an audio provider for an audio session as specified by
  the session type and the codec configuration as negotiated with the
  remote device.

Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
2019-01-11 12:04:51 +08:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00