Commit graph

241 commits

Author SHA1 Message Date
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
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
Joseph Pirozzo
9ff8f0bf61 Merge "Initialize pointers for vendor_interface" 2018-11-13 22:48:31 +00:00
Joseph Pirozzo
c1e10a3369 Initialize pointers for vendor_interface
Default member variables to nullptr.

Bug: 118075338
Test: Inspection
Change-Id: I5fc8a5b45d2c1116036139e308743a1928abaef3
2018-11-13 10:38:31 -08:00
Jack He
886963274a BT: Make Bluetooth HCI VTS tests more stable
* Add a 200ms sleep after BluetoothHci->close() to give HAL an ample
  time to shutdown
* Add override modifier to certain serviceDied() callback
* Change from return to break in handle_no_ops
* Add more logging to TearDown()

Test: make, VtsHalBluetoothV1_0TargetTest
Bug: 119071943
Change-Id: I5c919a99fb651f8f52d1d34847e1f9b4325efcd5
2018-11-13 18:29:12 +00:00
Jack He
80f0ae6e2d BT: Use one OWNERS file per VTS directory
* Unfortunately, glob pattern in OWNERS file cannot include
  directory paths and hence **/vts/** mechanism doesn't work
* For now, we need an individual OWNERS file for each VTS directory that
  we have

Test: make
Change-Id: Iacad2cb78152c06829632126c210c9585dce2a31
2018-11-13 00:56:58 +00:00
Treehugger Robot
a6d6ed2ec3 Merge "BT: Fix glob pattern in owners file" 2018-11-12 18:57:54 +00:00
Zhuoyao Zhang
f1d854616e Fix android.hardware.bluetooth@1.0-service.rc
* Remove the action on property vts.native_server.on, the current one
  will actually turn off the BT HAL service

Bug: 118637723
Test: make vts
      vts-tradefed run vts -m VtsHalBluetoothV1_0Target

Change-Id: I5bcc0532d57c2f5f3b01a8df1bab8c358270ca73
2018-11-09 17:52:52 +00:00
Jack He
25c2469b9e BT: Fix glob pattern in owners file
- */vts/* only matches one layer of directories
  e.g. a/vts/b is matched, a/b/vts/c is not matched
- **/vts/** matches everything up to a/b/c/vts/d/e/f

Test: make
Change-Id: I57ea4f2ab2fdeef5929895c7443a1d1097985dba
2018-11-09 02:18:17 -08:00
Jack He
defedbf273 Bluetooth: Add OWNERS file to Bluetooth VTS tests
* Add Bluetooth related persons to OWNERS file for Bluetooth VTS tests
  so that it is easier to develop VTS tests in the future

Test: make
Change-Id: I202145344582f9a5ad9dd367da897f5982db57eb
2018-11-08 17:58:12 -08:00
Jack He
fac144bb80 VTS: Subscribe to death notification of HAL service
Test: make, run HciReset test
Change-Id: I03bfc115e2330eb92608c8020edfda898902eec8
2018-11-06 00:24:57 +00:00
Jack He
caeab05bdb Apply clang-format to Bluetooth related HAL code
- cp system/bt/.clang-format hardware/interfaces/bluetooth/
- modify hardware/interfaces/bluetooth/.clang-format to match context
- find . -type f \( -iname \*.cpp -o -iname \*.h -o -iname \*.cc \) | xargs clang-format --style=file -i

Test: make
Change-Id: I82e4f26e1efeb715aff7de8a15c3db06e02967a4
2018-10-23 18:22:10 -07:00
Jack He
4b50fcda51 VTS: Check return status of initialize and close
Test: atest VtsHalBluetoothV1_0TargetTest
Change-Id: I579c4d5f4c6e24b358c67c3dc8a8a8ceb1f936e2
2018-10-08 17:06:06 -07:00
Hansong Zhang
5b1813f077 VTS for Bluetooth A2DP HAL
Initial VTS commit for the bluetooth.a2dp@1.0 HAL

Test: VTS
Bug: 74900514
Change-Id: I752abc4878ee6a974ce3a17ad852e941783da022
2018-04-11 09:56:09 -07:00
Tom Cherry
97e3881d17 Add BLOCK_SUSPEND capability for Bluetooth HAL service
This is needed for some platforms

Bug: 74554159
Bug: 77213213
Test: walleye BT works
Change-Id: If0033c5a7fc09057415b27196fa4541e9aadfb4b
(cherry picked from commit 2d46875666)
2018-03-29 12:51:54 -07:00
Tom Cherry
345154cd0e Add capabilities to bluetooth HAL service
Bug: 74554159
Test: BT works on walleye
Change-Id: Ib2e1be66ae92ce742540a50cffc8c675db945655
(cherry picked from commit f03dbc6924)
2018-03-26 11:11:55 -07:00
Sunny Kapdi
e656214915 Bluetooth: A2DP offload HIDL
Interface for Bluetooth A2DP offload feature.

Bug: 63932139
Bug: 72242910
Test: Manual; TestTracker/148125
Change-Id: I3649800dfe3e1a2d66b76859be87e01ee58d2de0
(cherry picked from commit 4e95d81ef0)
2018-03-12 19:18:52 +00:00
Myles Watson
920a28f0d2 Bluetooth: Relax NO_OP and SCO checks am: 72382e3014 am: 4de5fba958
am: 3174a29883

Change-Id: I6eab0b25080645922f1498f92d4876308a689dfb
2018-03-01 22:14:55 +00:00
Myles Watson
72382e3014 Bluetooth: Relax NO_OP and SCO checks
Ignore NO_OP complete events.
Ignore ordering for Loopback Mode Connection/Command Complete.
Only check for SCO buffer size when SCO connections are made.

Bug: 69785298
Test: VtsHalBluetoothV1_0TargetTest
Change-Id: Ia1ead7ff942ffa369f88f61bcaaa8e03d7973179
2018-03-01 20:25:15 +00:00
Zhuoyao Zhang
c9936f2318 Convert bluetooth hal test to use VtsHalHidlTargetTestEnvBase am: 7a727ff3ec am: d87afe3938
am: 54544a94ec

Change-Id: I3392818680fcfea3fdd5d32c753ddc464eb54895
2018-02-13 18:11:41 +00:00
Zhuoyao Zhang
7a727ff3ec Convert bluetooth hal test to use VtsHalHidlTargetTestEnvBase
Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalBluetoothV1_0Target

Change-Id: Ib6030ab0191913362ce54262c7ec8baa1f0bd147
2018-02-12 17:01:00 -08:00
Myles Watson
42643f8fa1 Bluetooth: Sleep instead of dying on EOF am: 0d63f8af7c am: e63d6a08ce
am: 7365ea5b9d

Change-Id: If88fda6729848f345a4645bff7f684b8f778994d
2018-01-10 01:44:13 +00:00
Myles Watson
0d63f8af7c Bluetooth: Sleep instead of dying on EOF
When a device is restarted, the UART may go away before the
packetizer.  Print an error and sleep in case it isn't really
a restart.

Bug: 70855323
Test: Repeated restarts, check for Bluetooth tombstones
Change-Id: I2b4e677451e826d40dcc9d063d80dc0e17fc9aca
2018-01-09 23:54:05 +00:00
Lianchao Song
893798b19b BT Interface: fix hci cmd timeout am: 424ffd0da5 am: fc0e8c6f48
am: 6991b9f428

Change-Id: I6daa5c12ddd45ef212ac47369005cbb625527e7d
2018-01-09 23:26:24 +00:00
Lianchao Song
424ffd0da5 BT Interface: fix hci cmd timeout
Add mutex in function Send() and OnTimeout() to do mutual
exclusive access on lpm_wake_deasserted.

If lpm_wake_deasserted is out of sync with the actual
wake state, then platforms which use the lpm hint
will break.

Bug: 64299848
Test: run affected platform for a long period of time
and find that hci commands do not time out
Change-Id: I9f630d6f40f84b9c047c6488632cd44d6602bb14
2018-01-09 21:14:47 +00:00
Dan Willemsen
fbe95d5c0f Fix problem found with host bionic fortify checks am: dc1921810e am: 6737d81d15
am: ca253762cb

Change-Id: Ie33aa142f0af34f640397c29baf5d8076b89dc32
2017-12-01 04:37:31 +00:00
Dan Willemsen
6737d81d15 Fix problem found with host bionic fortify checks
am: dc1921810e

Change-Id: Id82671e9f0b4debc28b516a0b3f10104fc54e198
2017-12-01 04:29:29 +00:00
Dan Willemsen
dc1921810e Fix problem found with host bionic fortify checks
hardware/interfaces/bluetooth/1.0/default/test/bluetooth_address_test.cc:59:39:
error: 'open' called with O_CREAT or O_TMPFILE, but missing mode

Bug: 31559095
Test: out/host/linux-x86/nativetest{,64}/bluetooth-address-unit-tests/bluetooth-address-unit-tests
Change-Id: I913c78e25eccaecf8830f1caf8e92f834ab8bb76
2017-11-30 18:00:36 -08:00
Treehugger Robot
adf8208c52 Merge "Remove subdirs" 2017-11-29 17:53:33 +00:00
Steven Moreland
7b9888217e Remove subdirs
Removing whenever I see these in code reviews.

Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
2017-11-28 17:19:46 -08:00
Steven Moreland
e5c6548346 Remove subdirs
Removing whenever I see these in code reviews.

Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
2017-11-28 14:23:43 -08:00
Steven Moreland
fcca4e23b7 Remove subdirs
Removing whenever I see these in code reviews.

Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
2017-11-28 14:22:43 -08:00
Chih-Hung Hsieh
1bf3cfc11d Merge "Use -Werror in hardware/interfaces" am: 02804915fb am: 8e736c21de
am: f53fe9317b

Change-Id: Ifc0a5be285be1a57d998db3c032e392b307cfa80
2017-11-28 19:31:03 +00:00
Chih-Hung Hsieh
8e736c21de Merge "Use -Werror in hardware/interfaces"
am: 02804915fb

Change-Id: Id73af9532487a85ad1d1170dbce809761d4a93a8
2017-11-28 19:24:00 +00:00
Chih-Hung Hsieh
3f2ea62d06 Use -Werror in hardware/interfaces
* Use hidl_defaults, which has -Wall -Werror.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: Ifbca0e176a8e031acc27256eb46d23b89cdf1a0e
2017-11-20 10:49:11 -08:00
Xin Li
bb9e38fef9 Merge commit '1a06284b24f5eb7bb9c1fea0817da8898b3b1bff' from
oc-mr1-dev-plus-aosp into stage-aosp-master

Change-Id: I2a044eb8c9981d0a8198ffe2df55559afbd76341
Merged-In: I4fb9f18884f7ef21162015a0032c4431444f7025
2017-11-14 12:08:38 -08:00
Steven Moreland
8db261bc99 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
2017-11-13 10:00:18 -08:00
Steven Moreland
a1169dd600 Update makefiles for hidl_interface.
Bug: 35570956
Test: manual
Change-Id: I7a220b78ee081240e1dc30ef5672ba39e3e98375
2017-11-10 09:06:55 -08:00
Steven Moreland
d28c1bdf62 Merge "Automatic mk -> bp." am: e5fd969f19 am: 72c720a4e3
am: 26013bf6ac

Change-Id: Id936fb4806d122045c771c951220361efeef10c6
2017-11-07 21:24:49 +00:00
Steven Moreland
26013bf6ac Merge "Automatic mk -> bp." am: e5fd969f19
am: 72c720a4e3

Change-Id: Icfc8b46117e94461906806023852836a0ace3a55
2017-11-07 21:21:40 +00:00
Steven Moreland
90e3a50f03 Automatic mk -> bp.
Automatic mk -> bp conversion for all modules here
which can be converted and built automatically.

Test: Soong resolves all dependencies
Bug: 37512442
Change-Id: Ib789212cb88d55731397c600d132e7c672c0d8be
2017-11-03 16:30:28 +00:00
Steven Moreland
1d7374c5e1 Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1 am: 6c811964a1
am: 116161d94e

Change-Id: I33643636e2511de77fdf7de57777eb67edee2e52
2017-10-11 16:39:21 +00:00
Steven Moreland
116161d94e Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1
am: 6c811964a1

Change-Id: I85ccbb4a15cd18938607f5bca4e065b9d7e0182b
2017-10-11 16:31:07 +00:00
Steven Moreland
c3e80fa01e Update for Soong java makefiles.
Test: pass
Bug: 33420795
Change-Id: Id9b1919a19b8ff682738cfb0869a479b4dbb4293
2017-10-10 23:07:20 +00:00
Steven Moreland
70bfb9d250 Merge "Update for hidl adapter module defaults." am: 988c977079 am: 861651985f am: b53e6ad535
am: 9a17f41f6f

Change-Id: I78d9292068b372238554fd9d35128e69f5b5f9d2
2017-10-04 21:54:11 +00:00
Steven Moreland
9a17f41f6f Merge "Update for hidl adapter module defaults." am: 988c977079 am: 861651985f
am: b53e6ad535

Change-Id: I23269fb7a9bdd352e670a80f390527d9eef31412
2017-10-04 21:51:00 +00:00
Steven Moreland
527fd76a0e Update for hidl adapter module defaults.
Test: pass
Change-Id: Idc6a943149a279bf17cfcfd0f2571473e53bbbbf
2017-10-04 12:47:03 -07:00
Steven Moreland
91799c6cc7 Merge "Fix typo in update makefiles." am: 9960148420 am: f07e364ce3 am: 71a193a425
am: 9fdd241905

Change-Id: I1c852fa6600fecc44d5afd1a65a5f51c43ecf71c
2017-09-27 00:02:52 +00:00
Steven Moreland
9fdd241905 Merge "Fix typo in update makefiles." am: 9960148420 am: f07e364ce3
am: 71a193a425

Change-Id: I45ae43f07323254212532acbf0f891d11143b05f
2017-09-26 23:58:51 +00:00
Steven Moreland
a5299ee739 Fix typo in update makefiles.
Bug: 37518178
Test: pass
Change-Id: Ic401b3a473f15ca4c01e58b3072e19db7c31b653
2017-09-26 21:59:43 +00:00