OSDN Git Service
Pavlin Radoslavov [Wed, 17 May 2017 02:01:51 +0000 (02:01 +0000)]
Disable MONO channel mode for LDAC am:
f7e48dff99 am:
1338709b40
am:
6ee2066f76
Change-Id: I8263b5036dc399d39bd9f35ff95175d973c2e130
Pavlin Radoslavov [Wed, 17 May 2017 01:47:02 +0000 (01:47 +0000)]
Disable MONO channel mode for LDAC am:
f7e48dff99
am:
1338709b40
Change-Id: I468a18879c6513b63a5313886474037c0a95de44
Pavlin Radoslavov [Wed, 17 May 2017 01:45:33 +0000 (01:45 +0000)]
Disable MONO channel mode for LDAC
am:
f7e48dff99
Change-Id: I320fe419ed51b9b85944a485e022932fa36ff4de
Pavlin Radoslavov [Tue, 16 May 2017 23:20:23 +0000 (16:20 -0700)]
Disable MONO channel mode for LDAC
Bug:
38351937
Test: A2DP streaming to LDAC headset and switching MONO/STEREO in Settings
Change-Id: I20c5069fd5d104b9ebe767ae2728af7d7b2ae1d9
Jakub Pawlowski [Tue, 16 May 2017 23:08:14 +0000 (23:08 +0000)]
Discover primary service by UUID for PTS tests (1/4)
am:
0de6324c21
Change-Id: Ib213c9c56046e66ad5b5abe2105c6f5037a3b06f
Jakub Pawlowski [Tue, 16 May 2017 20:55:56 +0000 (20:55 +0000)]
Discover primary service by UUID for PTS tests (1/4) am:
45aebe75f7 am:
b72096e5aa
am:
e73dbe453e
Change-Id: I962a490f407d7fd142c3a1a95b6405b4637d8726
Jakub Pawlowski [Tue, 16 May 2017 17:47:54 +0000 (10:47 -0700)]
Discover primary service by UUID for PTS tests (1/4)
Bug:
38123054
Test: manual
Change-Id: Ic97a964ca2a25a84c6abcf41acb0f3fb583488a2
(cherry picked from commit
45aebe75f75c1f93c396118bc39748fc0f4054c7)
Jakub Pawlowski [Tue, 16 May 2017 20:41:18 +0000 (20:41 +0000)]
Discover primary service by UUID for PTS tests (1/4) am:
45aebe75f7
am:
b72096e5aa
Change-Id: Ib02b37c8890027110b90bd04a0e164da4ed7ceb1
Jakub Pawlowski [Tue, 16 May 2017 20:29:24 +0000 (20:29 +0000)]
Discover primary service by UUID for PTS tests (1/4)
am:
45aebe75f7
Change-Id: Id2f05d32e1dfb8632c50707cb19af1a80a91f8da
Jakub Pawlowski [Tue, 16 May 2017 17:47:54 +0000 (10:47 -0700)]
Discover primary service by UUID for PTS tests (1/4)
Bug:
38123054
Test: manual
Change-Id: Ic97a964ca2a25a84c6abcf41acb0f3fb583488a2
Jakub Pawlowski [Mon, 15 May 2017 21:29:57 +0000 (21:29 +0000)]
Fix crash on GATT service unregistration
am:
1f021347c2
Change-Id: Ieca347b22684083fb0fce54ba0264cef42dc687d
Jakub Pawlowski [Mon, 15 May 2017 07:58:07 +0000 (00:58 -0700)]
Fix crash on GATT service unregistration
When SDP_MAX_RECORDS were reached in SDP db, which usually happen by
registering big number of GATT services, unregistration of a service was
causing a crash. This was because we moved from memory after the array
into last element.
Bug:
38265174
Test: manual
Change-Id: I7b0235213fb07c85dcc1245f1c840b41267521d5
(cherry picked from commit
0d892120359af4cd1af7f9c13897c1002eac59f3)
Jakub Pawlowski [Mon, 15 May 2017 18:40:02 +0000 (18:40 +0000)]
Fix crash on GATT service unregistration am:
0d89212035 am:
b479d98407
am:
105b752bb6
Change-Id: I859d43214c0dbf55d511d153408ceeb702dac659
Jakub Pawlowski [Mon, 15 May 2017 18:37:02 +0000 (18:37 +0000)]
Fix crash on GATT service unregistration am:
0d89212035
am:
b479d98407
Change-Id: I07f5aee7f419d5f0e6cefdfded61191e0a0edfac
Pavlin Radoslavov [Mon, 15 May 2017 18:34:14 +0000 (18:34 +0000)]
Don't ignore the A2DP Sink preferred SBC codec config
am:
436fcd74ad
Change-Id: Ia986b7b318b725fe1bfa5a61e2733b012c38feaf
Jakub Pawlowski [Mon, 15 May 2017 18:34:01 +0000 (18:34 +0000)]
Fix crash on GATT service unregistration
am:
0d89212035
Change-Id: I85f1bc7e5823c359f9f1d96b4fdf6ff12f35c127
Pavlin Radoslavov [Mon, 15 May 2017 18:34:00 +0000 (18:34 +0000)]
Set the RTP Header Marker bit selectively per A2DP codec
am:
b549bd7299
Change-Id: I4083f282808e49f56a2167d4f903d2cd88614a8f
Jakub Pawlowski [Mon, 15 May 2017 07:58:07 +0000 (00:58 -0700)]
Fix crash on GATT service unregistration
When SDP_MAX_RECORDS were reached in SDP db, which usually happen by
registering big number of GATT services, unregistration of a service was
causing a crash. This was because we moved from memory after the array
into last element.
Bug:
38265174
Test: manual
Change-Id: I7b0235213fb07c85dcc1245f1c840b41267521d5
Pavlin Radoslavov [Fri, 12 May 2017 10:02:08 +0000 (03:02 -0700)]
Don't ignore the A2DP Sink preferred SBC codec config
If the A2DP Sink device sends "Set Configuration" with its preferred
SBC configuration, try using that configuration when selecting
the codec parameters instead of the A2DP Sink SBC capability.
Test: A2DP streaming, PTS AVDTP Tests: TC_ACP_SRC_SIG_SMG_BV_18_C,
TC_ACP_SRC_SIG_SMG_BV_20_C, TC_ACP_SRC_SIG_SMG_BV_22_C
PTS A2DP Tests: A2DP/SRC/SET/BV-04-I, A2DP/SRC/SET/BV-06-I
Bug:
37723311
Bug:
35664023
Change-Id: I48e2aa664b899c1cda5df4d1f86f9cfa3a9a67f6
(cherry picked from commit
d62e522131e8646830f846fdcb292870d7fb9d7b)
Pavlin Radoslavov [Fri, 12 May 2017 08:16:10 +0000 (01:16 -0700)]
Set the RTP Header Marker bit selectively per A2DP codec
Add a mechanism to set the RTP Header Marker bit per codec.
Currently, the Marker bit is set only for AAC.
Test: A2DP streaming, PTS AVDTP tests: TC_ACP_SRC_TRA_BTR_BV_01_C,
TC_INT_SRC_SIG_SMG_BV_17_C, TC_INT_SRC_TRA_BTR_BV_01_C
Bug:
37723283
Change-Id: I9b8e77d44c750746c169df9628d5539ad2406b92
(cherry picked from commit
3b8391cd47dd0ea3e399f99a888f029de8c7d8c8)
Emil Lenngren [Fri, 12 May 2017 22:52:00 +0000 (22:52 +0000)]
Fix BLE white list issues am:
8451ad010e am:
3a8dc25485
am:
0d6d00719a
Change-Id: Iae7535f0a8e2a1ad5f4069e0eded8a38b9a273dc
Emil Lenngren [Fri, 12 May 2017 22:46:37 +0000 (22:46 +0000)]
Fix BLE white list issues am:
8451ad010e
am:
3a8dc25485
Change-Id: Iee978c8551798ec02503969821cdc9355e97a386
Emil Lenngren [Fri, 12 May 2017 22:39:20 +0000 (22:39 +0000)]
Fix BLE white list issues
am:
8451ad010e
Change-Id: Ic3a2f4f77f7d74f4021a68df3f996b5c9e0920c9
Emil Lenngren [Mon, 19 Dec 2016 19:21:19 +0000 (19:21 +0000)]
Fix BLE white list issues
Since Bluetooth 4.2 and errata ESR08 there may not be more than one
connection between two LE device addresses. Also the stack assumes
there is at maximum one connection to the same address. This patch
makes sure there are no connected devices in the white list when a
connection attempt is started. Since some (even 4.2) controllers don't
handle this correctly, currently this method is used regardless of
controller in this patch.
When the maximum L2CAP connections were reached and a new connection
was established to a device using auto connect, the stack hung and
would no longer create new connections until Bluetooth was restarted,
since the state change to BLE_CONN_IDLE was forgotten. This patch
resets the state correctly, and also never initiates a connection
unless there is space to avoid connect-disconnect loop.
There were also bugs in the background_connections hash map; memory was
not freed when an element was erased and an incorrect hash function
which used the pointer to a bd addr instead of the bd addr itself which
basically meant that elements were never removed. This patch removes
the dynamic memory allocation and uses a correct hash function.
There was a bug that might lead to that the white list was filled
beyond its maximum, due to the counter was updated on the HCI command
complete event, which might run too late. Now the space is instead
calculated based on what commands have been sent to the controller.
The address type of the address added to the white list must also be
tracked, otherwise it might be updated due to a BLE scan, and later the
wrong address is removed from the white list. This patch fixes this.
(Preferably 49-bit bd addrs should be used as identifier through the
whole stack but we're not there yet.)
There was a queue of size 10 with pending white list operations. That
queue got full if there was initially 10 devices in the white list,
then the 10 devices were removed and immediately after 10 other devices
were added. This patch removes the queue altogether by instead syncing
against the background_connections hash map.
Bug: https://code.google.com/p/android/issues/detail?id=219910
Test: stress-testing with a bunch of BLE devices and inspecting HCI log
Change-Id: I78de654ffbea5f4962a189caf984f7f2934e8fbe
Jakub Pawlowski [Fri, 12 May 2017 20:16:41 +0000 (20:16 +0000)]
Merge changes I1620be68,Ide2c2110 into oc-dev
am:
f342819dd7
Change-Id: Ifb5fc0173794c5a75325c95aa7f1c1cca64a3214
TreeHugger Robot [Fri, 12 May 2017 20:03:14 +0000 (20:03 +0000)]
Merge changes I1620be68,Ide2c2110 into oc-dev
* changes:
Improve GATT Server database handling.
GATT Server: check UUID
Joseph Pirozzo [Fri, 12 May 2017 19:09:05 +0000 (19:09 +0000)]
Merge "Disable output_sample.pcm" into oc-dev
am:
5b60886f7f
Change-Id: I953d7210a9a2718013fe328c70a27f83747d8e06
TreeHugger Robot [Fri, 12 May 2017 18:50:35 +0000 (18:50 +0000)]
Merge "Disable output_sample.pcm" into oc-dev
Pavlin Radoslavov [Fri, 12 May 2017 18:50:12 +0000 (18:50 +0000)]
Don't ignore the A2DP Sink preferred SBC codec config am:
d62e522131 am:
625da700c3
am:
2fbcae6e97
Change-Id: I6dd37775bea62186ebadf8a3b0fe62c7417a3ce6
Pavlin Radoslavov [Fri, 12 May 2017 18:50:07 +0000 (18:50 +0000)]
Set the RTP Header Marker bit selectively per A2DP codec am:
3b8391cd47 am:
4542775aaa
am:
edc5698e73
Change-Id: I475cdf4b32bd0f77f20314f6232402abc1c72777
Pavlin Radoslavov [Fri, 12 May 2017 18:48:06 +0000 (18:48 +0000)]
Don't ignore the A2DP Sink preferred SBC codec config am:
d62e522131
am:
625da700c3
Change-Id: I112318372ffefad47337aeb1f18c081552462a8b
Pavlin Radoslavov [Fri, 12 May 2017 18:48:02 +0000 (18:48 +0000)]
Set the RTP Header Marker bit selectively per A2DP codec am:
3b8391cd47
am:
4542775aaa
Change-Id: I477ec3ace25eff48c31bb1f587c75ce80036c8d7
Pavlin Radoslavov [Fri, 12 May 2017 18:46:06 +0000 (18:46 +0000)]
Don't ignore the A2DP Sink preferred SBC codec config
am:
d62e522131
Change-Id: I0b85499fa56336a735101eab886f52ea0fd8692a
Pavlin Radoslavov [Fri, 12 May 2017 18:46:02 +0000 (18:46 +0000)]
Set the RTP Header Marker bit selectively per A2DP codec
am:
3b8391cd47
Change-Id: I6678114e4e9c423b198aa15ee5da12cd973d46d7
Jakub Pawlowski [Tue, 9 May 2017 12:02:38 +0000 (05:02 -0700)]
Improve GATT Server database handling.
- use references instead of pointers where possible. Thanks to it we can
remove some reduntant null checks and simplify the code.
- use directly allocated memory instead of own buffers. Thanks to it the
stack uses around 12kb less of memory after startup.
- use list and vector from std library, instead of some hand-written
implementations.
This patch is a prerequisite for further server refactoring, that will
further reduce the space used, make unit-testing possible, and enable
proper handling of PTS GATT tests.
Test: sl4a GattReadTest
Bug:
38225928
Change-Id: I1620be682259ccb8f0c02754806e355e3f1ad0c1
(cherry picked from commit
6395f1547ed6179dcdeed392bd9909d18772fb25)
Jakub Pawlowski [Wed, 10 May 2017 11:39:26 +0000 (04:39 -0700)]
GATT Server: check UUID
Characteristic and descriptor can't use UUID equal to GATT Attribute
Types. Using such UUID would result in invalid GATT database, and
crashes during service discovery.
Test: manual
Bug:
38134693
Change-Id: Ide2c21109f885cbc79287452b1dabd3f532de385
(cherry picked from commit
671ad6679ce4b8edcdb7eaaee96bc5c66b557441)
Pavlin Radoslavov [Fri, 12 May 2017 10:02:08 +0000 (03:02 -0700)]
Don't ignore the A2DP Sink preferred SBC codec config
If the A2DP Sink device sends "Set Configuration" with its preferred
SBC configuration, try using that configuration when selecting
the codec parameters instead of the A2DP Sink SBC capability.
Test: A2DP streaming, PTS AVDTP Tests: TC_ACP_SRC_SIG_SMG_BV_18_C,
TC_ACP_SRC_SIG_SMG_BV_20_C, TC_ACP_SRC_SIG_SMG_BV_22_C
PTS A2DP Tests: A2DP/SRC/SET/BV-04-I, A2DP/SRC/SET/BV-06-I
Bug:
37723311
Bug:
35664023
Change-Id: I48e2aa664b899c1cda5df4d1f86f9cfa3a9a67f6
Pavlin Radoslavov [Fri, 12 May 2017 08:16:10 +0000 (01:16 -0700)]
Set the RTP Header Marker bit selectively per A2DP codec
Add a mechanism to set the RTP Header Marker bit per codec.
Currently, the Marker bit is set only for AAC.
Test: A2DP streaming, PTS AVDTP tests: TC_ACP_SRC_TRA_BTR_BV_01_C,
TC_INT_SRC_SIG_SMG_BV_17_C, TC_INT_SRC_TRA_BTR_BV_01_C
Bug:
37723283
Change-Id: I9b8e77d44c750746c169df9628d5539ad2406b92
Joseph Pirozzo [Thu, 11 May 2017 16:36:47 +0000 (09:36 -0700)]
Disable output_sample.pcm
Update include files to include bt_target.h as it has the necessary
defines to correctly allow bdroid_buildcfg.h to enable and disable
dumping to output_sample.pcm.
Bug:
38180732
Test: Stream Bluetooth audio to device and observe that
output_sample.pcm does not get written or appended to.
Change-Id: Ia7926f93a47489686d315e3c9abd1618cb8adda3
Jakub Pawlowski [Fri, 12 May 2017 08:30:19 +0000 (08:30 +0000)]
Improve GATT Server database handling. am:
6395f1547e am:
44087dbb60
am:
5e33de952d
Change-Id: I72771fee8aae8cef7fd9ff7bb3e210d81c31255f
Jakub Pawlowski [Fri, 12 May 2017 08:28:19 +0000 (08:28 +0000)]
Improve GATT Server database handling. am:
6395f1547e
am:
44087dbb60
Change-Id: I604c841e1bfe343f30cbb11c513a751f5a099fa6
Jakub Pawlowski [Fri, 12 May 2017 08:26:20 +0000 (08:26 +0000)]
Improve GATT Server database handling.
am:
6395f1547e
Change-Id: I1519dd0981b430a9a76a91126ad403616a856cea
Jakub Pawlowski [Tue, 9 May 2017 12:02:38 +0000 (05:02 -0700)]
Improve GATT Server database handling.
- use references instead of pointers where possible. Thanks to it we can
remove some reduntant null checks and simplify the code.
- use directly allocated memory instead of own buffers. Thanks to it the
stack uses around 12kb less of memory after startup.
- use list and vector from std library, instead of some hand-written
implementations.
This patch is a prerequisite for further server refactoring, that will
further reduce the space used, make unit-testing possible, and enable
proper handling of PTS GATT tests.
Test: sl4a GattReadTest
Bug:
38225928
Change-Id: I1620be682259ccb8f0c02754806e355e3f1ad0c1
Jacky Cheung [Fri, 12 May 2017 07:01:41 +0000 (07:01 +0000)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation am:
0ce25115e9 -s ours am:
6ba79a8618 -s ours
am:
635aef123e -s ours
Change-Id: Idacb26f185a5ef4856a7202fefc2684600680bd4
Joseph Pirozzo [Thu, 11 May 2017 23:48:03 +0000 (23:48 +0000)]
Disable output_sample.pcm am:
daf55dfda0 am:
7f264f124b
am:
c4d6ba9f1c
Change-Id: Ie2da4bb705ac671eddde54fa5f0dcac5d852e3dd
Joseph Pirozzo [Thu, 11 May 2017 23:38:18 +0000 (23:38 +0000)]
Disable output_sample.pcm am:
daf55dfda0
am:
7f264f124b
Change-Id: I7f5e128a92e21c9f72cd751970b355a96001ed2d
Jacky Cheung [Thu, 11 May 2017 23:26:31 +0000 (23:26 +0000)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation am:
0ce25115e9 -s ours am:
6ba79a8618 -s ours
am:
e9eddcf006 -s ours
Change-Id: Iefa88cb5913b7e2ac91e2cc031cb9229e3e5247c
Jacky Cheung [Thu, 11 May 2017 23:24:02 +0000 (23:24 +0000)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation am:
0ce25115e9 -s ours
am:
6ba79a8618 -s ours
Change-Id: Ibc77d01e1b480d60b04da5355242ba4071a9b064
Jacky Cheung [Thu, 11 May 2017 23:23:30 +0000 (23:23 +0000)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation am:
0ce25115e9 -s ours
am:
6ba79a8618 -s ours
Change-Id: Ic4e5bf9b9503fc72a6a081f58970c9998ba061ca
Jacky Cheung [Thu, 11 May 2017 23:19:01 +0000 (23:19 +0000)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation
am:
0ce25115e9 -s ours
Change-Id: I105198593ba9994002205567038778162dc9e6d0
Joseph Pirozzo [Thu, 11 May 2017 23:11:31 +0000 (23:11 +0000)]
Disable output_sample.pcm
am:
daf55dfda0
Change-Id: Ifdc79bb2e4c3530c50f985a8cc1a949e25266b11
Jacky Cheung [Wed, 10 May 2017 21:23:06 +0000 (14:23 -0700)]
DO NOT MERGE ANYWHERE Check ACL link on non-opportunistic connection creation
At the time of connection, the idle timeout could have been set to a fixed
value, which is likely to be related to the completion of service discovery
after bonding. A check on ACL link allows the idle timeout to be reset to no
timeout, which would eliminate local host disconnections observed due to
idle timeouts.
Bug:
37352720
Test: manual
Change-Id: Ie0b24b83020d502cf7c55421a27659215253b4d2
Joseph Pirozzo [Thu, 11 May 2017 16:36:47 +0000 (09:36 -0700)]
Disable output_sample.pcm
Update include files to include bt_target.h as it has the necessary
defines to correctly allow bdroid_buildcfg.h to enable and disable
dumping to output_sample.pcm.
Bug:
38180732
Test: Stream Bluetooth audio to device and observe that
output_sample.pcm does not get written or appended to.
Change-Id: Ia7926f93a47489686d315e3c9abd1618cb8adda3
Pavlin Radoslavov [Thu, 11 May 2017 02:22:33 +0000 (02:22 +0000)]
Merge "Removed A2DP_GetTrackBitsPerSample() API because it is not needed" am:
d93b54eada am:
4b6b594ae7
am:
a565477bbd
Change-Id: I42388f1660887a5bee11979c626ef4c8458d5907
Pavlin Radoslavov [Thu, 11 May 2017 02:20:31 +0000 (02:20 +0000)]
Merge "Removed A2DP_GetTrackBitsPerSample() API because it is not needed" am:
d93b54eada
am:
4b6b594ae7
Change-Id: I7046dacb5a93b995c1695059e56fbaa7847dc8dc
Pavlin Radoslavov [Thu, 11 May 2017 02:19:00 +0000 (02:19 +0000)]
Merge "Removed A2DP_GetTrackBitsPerSample() API because it is not needed"
am:
d93b54eada
Change-Id: I2c6324ab93de6bfd2f1cf2dc7cef52c6be955863
Treehugger Robot [Thu, 11 May 2017 02:10:07 +0000 (02:10 +0000)]
Merge "Removed A2DP_GetTrackBitsPerSample() API because it is not needed"
Jack He [Thu, 11 May 2017 02:03:46 +0000 (02:03 +0000)]
Merge changes from topic 'eSCO' am:
a5095e6eac am:
96b45e07ea
am:
52361b1cfa
Change-Id: Ie80f0f71b957f372f071d53a7bd6b161be0fc1c7
Jack He [Thu, 11 May 2017 02:03:43 +0000 (02:03 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am:
400ac497f4 am:
1faf995c95
am:
cf38e2a20d
Change-Id: I28961521be04168c6b6c565f926df11dda336c70
Myles Watson [Thu, 11 May 2017 02:03:38 +0000 (02:03 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am:
3e634d6c1e am:
01e4189eb2
am:
0dab2433a4
Change-Id: If276d6bbe480c29028a0eb0e30e89c948e977fc6
Mudumba Ananth [Thu, 11 May 2017 02:03:34 +0000 (02:03 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5) am:
57f6508cf7 am:
86f1b61e61
am:
8b0d1f793c
Change-Id: Ib635272bc4cb38ff95bd57e80d0e9e9f08604917
Jack He [Thu, 11 May 2017 02:01:49 +0000 (02:01 +0000)]
Merge changes from topic 'eSCO' am:
a5095e6eac
am:
96b45e07ea
Change-Id: I5518a14dfa62f3aa64a9d9e17054219ffe19d99b
Jack He [Thu, 11 May 2017 02:01:45 +0000 (02:01 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5) am:
400ac497f4
am:
1faf995c95
Change-Id: Id6089050ae0f8170c1461f61f24ea2ed2369d87e
Myles Watson [Thu, 11 May 2017 02:01:41 +0000 (02:01 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5) am:
3e634d6c1e
am:
01e4189eb2
Change-Id: Ief7ca14cda07fa76c94e1e31ef96b3f054cc96f4
Mudumba Ananth [Thu, 11 May 2017 02:01:36 +0000 (02:01 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5) am:
57f6508cf7
am:
86f1b61e61
Change-Id: I78633f7c19e6b613bb352df79d6b15a23d6c1908
Jack He [Thu, 11 May 2017 01:59:52 +0000 (01:59 +0000)]
Merge changes from topic 'eSCO'
am:
a5095e6eac
Change-Id: I6ec9013bc90d038078e33e271e77125a45689f1d
Jack He [Thu, 11 May 2017 01:59:40 +0000 (01:59 +0000)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
am:
400ac497f4
Change-Id: I2590f334f411a43ebbd5198ab964d776f096e249
Myles Watson [Thu, 11 May 2017 01:59:29 +0000 (01:59 +0000)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
am:
3e634d6c1e
Change-Id: I99fff15789f389fe71f140db81bceac3bac42b71
Mudumba Ananth [Thu, 11 May 2017 01:59:16 +0000 (01:59 +0000)]
eSCO: BT 4.1 Enhanced SCO command (1/5)
am:
57f6508cf7
Change-Id: Ic45dc0c4bae5c40f3d144246efe1d3e2603e8b4b
Treehugger Robot [Thu, 11 May 2017 01:53:44 +0000 (01:53 +0000)]
Merge changes from topic 'eSCO'
* changes:
eSCO: Format changes to original vendor patch (4/5)
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
eSCO: BT 4.1 Enhanced SCO command (1/5)
Marie Janssen [Thu, 11 May 2017 01:24:16 +0000 (01:24 +0000)]
Merge "btif: GetItemAttributes can return no attributes" into oc-dev
am:
1f7d8e2299
Change-Id: I3a269ff1629c076eca5568de08986727d0ff61ba
Jack He [Thu, 11 May 2017 01:23:58 +0000 (01:23 +0000)]
Fix broken linux build
am:
3f122786c5
Change-Id: I55f253a86e4686bc81cd11137ca90976fc4bbe40
Jack He [Thu, 11 May 2017 01:23:44 +0000 (01:23 +0000)]
Remove include for log/log.h in l2c_main.cc
am:
8db5514d92
Change-Id: I603aa47f5ead053d27b569149bb16dc2fb65dc55
Andre Eisenbach [Thu, 11 May 2017 01:18:17 +0000 (01:18 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)" am:
642e53b17f am:
9cdb6114c6
am:
b798c2fd79
Change-Id: I01af1fb37a60a81c0d042555611eb2e32d0bbc4d
Andre Eisenbach [Thu, 11 May 2017 01:11:04 +0000 (01:11 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)" am:
642e53b17f
am:
9cdb6114c6
Change-Id: I785f115e9933a5753286c2b1662e47a868d6e3c9
TreeHugger Robot [Thu, 11 May 2017 01:03:30 +0000 (01:03 +0000)]
Merge "btif: GetItemAttributes can return no attributes" into oc-dev
Andre Eisenbach [Thu, 11 May 2017 00:44:03 +0000 (00:44 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)"
am:
642e53b17f
Change-Id: I6087d0517494ff36810c71c5e3ffa1d337c4f9f2
Andre Eisenbach [Thu, 11 May 2017 00:37:42 +0000 (00:37 +0000)]
Merge "HID: Add support for Set Idle and Get Idle commands (2/4)"
Pavlin Radoslavov [Thu, 11 May 2017 00:09:00 +0000 (17:09 -0700)]
Removed A2DP_GetTrackBitsPerSample() API because it is not needed
The A2DP_GetTrackBitsPerSample() API was replaced in the past
by A2dpCodecConfig::getAudioBitsPerSample() .
* Removed A2DP_GetTrackBitsPerSample() and related codec-specific APIs:
- A2DP_GetTrackBitsPerSampleSbc
- A2DP_GetTrackBitsPerSampleAac
- A2DP_GetTrackBitsPerSampleAptx
- A2DP_GetTrackBitsPerSampleAptxHd
- A2DP_GetTrackBitsPerSampleLdac
NOTE: The removed A2DP_GetTrackBitsPerSampleLdac implementation
had a bug: a2dp_ldac_caps.bits_per_sample -> ldac_cie.bits_per_sample
This bug itself was uncovered when switching to clang-
3960126
- A2DP_VendorGetTrackBitsPerSample()
* Replaced few leftover usages of A2DP_GetTrackBitsPerSample()
A2dpCodecConfig::getAudioBitsPerSample()
* Updated the unit tests
Test: Code compilation, unit tests, A2DP streaming
Bug:
37752547
Change-Id: I7feeda0f32922b8ef888b157673e3e2ade98b179
Jack He [Mon, 8 May 2017 00:27:47 +0000 (17:27 -0700)]
eSCO: Format changes to original vendor patch (4/5)
* Format changes to original vendor patch
* Re-order part of SCO creation code to improve readability
* Make log more concise and usefull
Bug:
19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: Ie0199519afb30f56568c04fef728fce44a172063
Jack He [Mon, 8 May 2017 00:26:02 +0000 (17:26 -0700)]
eSCO: Additional fix to get eSCO working for HFP and HSP (3/5)
* Removed vendor specific call after codec negotiation and before eSCO
command is sent to Bluetooth chip
* Removed vendor specific call after a SCO connection is requested by
the peer
* Removed vendor specific save audio state methods
Bug:
19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I899405a8eaa2f38ee0de04949c5288f9eefa74df
Myles Watson [Fri, 10 Feb 2017 00:26:34 +0000 (16:26 -0800)]
eSCO: Remove BTM_WBS_INCLUDED from the stack (2/5)
All of our platforms support WBS.
Bug:
19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I384d49f73935ebb35b17132e71c85174797c435e
Mudumba Ananth [Thu, 9 Feb 2017 17:05:48 +0000 (09:05 -0800)]
eSCO: BT 4.1 Enhanced SCO command (1/5)
Added support for BT 4.1 enhanced SCO feature on the stack.
This feature allows the stack to create a SCO connection with
remote device by using Hci_Enhanced_Setup_Synchronous_Connection
command after checking the controller (4.1) support for
enhanced SCO command.
Added the command parameters to use the command in both wide band
speech(WBS) and narrow band speech(NBS) scenarios.
Number of Broadcom vendor specific commands(VSCs)that are needed
to be sent to Broadcom controllers along with this command have
also been updated accordingly
NOTE: This change would also need a firmware patch for
the feature to work on Broadcom contollers which will
be delivered to Google in a separate change set.
Bug:
19540029
Test: make, HFP PTS test, testplans/86884, testplans/87103
Change-Id: I1014d81be5cbe91078a4484dd072ac3957bfdfe4
Jack He [Thu, 4 May 2017 20:27:25 +0000 (13:27 -0700)]
Fix broken linux build
* Generic linux does not have property_get_int32. Instead,
osi_property_get_int32() is created to handle OS_GENERIC cases
* Some linux header have sigevent.sigev_notify_attributes typed as
(pthread_attr_t *) whereas others typed it as (void *), as any pointer
can be implicitly casted to (void *), the current casting to (void *)
is unncessary and will break build on systems using (pthread_attr_t *)
Test: make, unit test, no user visible effect
Change-Id: I24b33da453dc9d40656168a3bcd900d9c99219ce
(cherry picked from commit
2b59c4a0843c9f2782cf4163f921eddb31dd6ff9)
Marie Janssen [Wed, 10 May 2017 20:27:42 +0000 (20:27 +0000)]
btif: GetItemAttributes can return no attributes am:
840f4f3de9 am:
488e292e14
am:
34f5367c17
Change-Id: I4a0868c6e529055c5bf4372e453b960e0a09460a
Marie Janssen [Wed, 10 May 2017 20:07:53 +0000 (20:07 +0000)]
btif: GetItemAttributes can return no attributes am:
840f4f3de9
am:
488e292e14
Change-Id: If832118ad2295a40df7a17f8d2610653ee715f5e
Marie Janssen [Wed, 10 May 2017 20:05:22 +0000 (20:05 +0000)]
btif: GetItemAttributes can return no attributes
am:
840f4f3de9
Change-Id: I6f63ea40bfd90552ad32ae2c25a3576676e42b0b
Marie Janssen [Fri, 14 Apr 2017 21:07:19 +0000 (14:07 -0700)]
btif: GetItemAttributes can return no attributes
If there are no attributes available, it's possible to return zero
attributes from a GetItemAttributes request.
This is triggered by some carkits who are unhappy when they only get
titles back (the only required item) and ask for the rest of the
attributes (which we don't have).
Test: connect to honda carkit and get snoop logs to confirm
Bug:
36055995
Bug:
35956792
Change-Id: I5a31e206565d212e456111d8c6b542c7a1569e5a
(cherry picked from commit
840f4f3de98c7d6c83abae89f0b41990bc56fef4)
Jack He [Wed, 10 May 2017 19:05:25 +0000 (12:05 -0700)]
Remove include for log/log.h in l2c_main.cc
* log/log.h is not supported by linux build and is handled by
osi/include/log.h
* Thus, it shouldn't be included in l2c_main.cc, which breaks the linux
build
Test: make on both linux and Android, no functional effect
Change-Id: I0c974b754b43d7b73adea2a91078b85e22b3b14e
Jakub Pawlowski [Wed, 10 May 2017 19:02:26 +0000 (19:02 +0000)]
GATT Server: check UUID am:
671ad6679c am:
09af2e0205
am:
87b57e8643
Change-Id: I1bf0523a9ed4c44137901f8e5bb296d9b415e9bc
Jakub Pawlowski [Wed, 10 May 2017 18:36:17 +0000 (18:36 +0000)]
GATT Server: check UUID am:
671ad6679c
am:
09af2e0205
Change-Id: I464ad29e2e250a5b66cd1eab8861cf86ab27bf4e
Marie Janssen [Fri, 14 Apr 2017 21:07:19 +0000 (14:07 -0700)]
btif: GetItemAttributes can return no attributes
If there are no attributes available, it's possible to return zero
attributes from a GetItemAttributes request.
This is triggered by some carkits who are unhappy when they only get
titles back (the only required item) and ask for the rest of the
attributes (which we don't have).
Test: connect to honda carkit and get snoop logs to confirm
Bug:
36055995
Bug:
35956792
Change-Id: I5a31e206565d212e456111d8c6b542c7a1569e5a
Jakub Pawlowski [Wed, 10 May 2017 17:31:35 +0000 (17:31 +0000)]
GATT Server: check UUID
am:
671ad6679c
Change-Id: I54da771e90d8d206f7fd0d4118072199a046eadb
Jakub Pawlowski [Wed, 10 May 2017 11:39:26 +0000 (04:39 -0700)]
GATT Server: check UUID
Characteristic and descriptor can't use UUID equal to GATT Attribute
Types. Using such UUID would result in invalid GATT database, and
crashes during service discovery.
Test: manual
Bug:
38134693
Change-Id: Ide2c21109f885cbc79287452b1dabd3f532de385
Hemant Gupta [Tue, 30 Jul 2013 10:41:33 +0000 (16:11 +0530)]
HID: Add support for Set Idle and Get Idle commands (2/4)
Provides an interface for application to send Set Idle
and Get Idle commands to remote HID Device. Support for these
two commands was missing from existing code, so existing code
design is reused to add support for these two commands.
Without this support following mandatory PTS test cases for HID 1.0
cannot be passed, TC_HOS_HID_BV_05/06.
Test: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can
pass
Bug:
34344715
Change-Id: I14bc2dc349354fd87ef8aba25357514398532e87
Jack He [Wed, 10 May 2017 02:46:48 +0000 (02:46 +0000)]
Fix broken linux build am:
2b59c4a084 am:
50a0237992
am:
08f3487615
Change-Id: I98ac424c52bc60668dc74858ad89a038493814dc
Jack He [Wed, 10 May 2017 02:41:47 +0000 (02:41 +0000)]
Fix broken linux build am:
2b59c4a084
am:
50a0237992
Change-Id: I9d11fce707c63a0afedab4a28099e16201824728
Jack He [Wed, 10 May 2017 02:37:03 +0000 (02:37 +0000)]
Fix broken linux build
am:
2b59c4a084
Change-Id: I2acaae3044cba1e50647e21c1104218211294b79
Jack He [Thu, 4 May 2017 20:27:25 +0000 (13:27 -0700)]
Fix broken linux build
* Generic linux does not have property_get_int32. Instead,
osi_property_get_int32() is created to handle OS_GENERIC cases
* Some linux header have sigevent.sigev_notify_attributes typed as
(pthread_attr_t *) whereas others typed it as (void *), as any pointer
can be implicitly casted to (void *), the current casting to (void *)
is unncessary and will break build on systems using (pthread_attr_t *)
Test: make, unit test, no user visible effect
Change-Id: I24b33da453dc9d40656168a3bcd900d9c99219ce
Ajay Panicker [Mon, 8 May 2017 19:40:57 +0000 (19:40 +0000)]
Merge "Swap BTA and HCI queues with message loops" am:
f5db809606 am:
9d2452d7c1
am:
3b81ccb7f4
Change-Id: Ife763c68ebfff695ff387947c74137e0b0f445bf