OSDN Git Service
Pavlin Radoslavov [Sat, 5 Nov 2016 00:18:51 +0000 (17:18 -0700)]
A2DP Codec related cleanup
* Add new A2DP API and the corresponding unit tests:
- A2DP_InitSource2SinkCodec()
- A2DP_SourceCodecSepIndex()
- A2DP_GetTrackBitsPerSample()
* Use the new API to simplify the codec selection and setup
* Rename A2DP_BldSbcMplHdr() to A2DP_BuildMediaPayloadHeaderSbc()
* Remove the following APIs, because they are not needed anymore:
- A2DP_BuildSinkConfig()
- A2DP_CodecConfigMatchesCapabilities()
- A2DP_SetSourceCodec()
- A2DP_CodecRequiresReconfig()
- A2DP_IsSourceCodecSupported()
* Remove the following generic APIs, and keep only the SBC-specific APIs.
The information returned by those functions is SBC-specific, and doesn't
apply to other codecs:
- A2DP_GetNumberOfSubbands()
- A2DP_GetNumberOfBlocks()
- A2DP_GetAllocationMethodCode()
- A2DP_GetChannelModeCode()
- A2DP_GetSamplingFrequencyCode()
- A2DP_GetMinBitpool()
- A2DP_GetMaxBitpool()
* Rename:
A2DP_GetTrackFrequency() -> A2DP_GetTrackSampleRate()
tA2DP_FEEDING_PARAMS.sampling_freq -> sample_rate
tA2DP_FEEDING_PARAMS.num_channel -> channel_count
tA2DP_FEEDING_PARAMS.bit_per_sample -> bits_per_sample
* Remove btif_a2dp_source_encoder_update(), tA2DP_ENCODER_UPDATE_PARAMS
and associated events and processing mechanism, because they are not
needed anymore.
* Remove tA2DP_ENCODER_INTERFACE.encoder_update, because it is not
used anymore.
Now it is superceded by tA2DP_ENCODER_INTERFACE.encoder_init.
* Fix a bug inside bta_av_api_register() when initializing
the stream control block.
* Refactor bta_av_co_audio_getconfig() and bta_av_co_audio_setconfig()
* Remove tBTA_AV_CO_CB.codec_config_setconfig field, because it is not
needed anymore.
* Remove unused arguments when opening/closing audio stream
* Remove #ifdef BTA_AV_DEBUG guards: BTA_AV_DEBUG is always TRUE
* Remove SBC Mono -> Stereo hack
Test: Manual testing: A2DP streaming to headphones. TestTracker/68727
Change-Id: Ie0b209f7ad6c21c2c6d8d2e6277b86dfa63388c6
Myles Watson [Wed, 23 Nov 2016 22:49:54 +0000 (14:49 -0800)]
Fix asterisks in block quotes
Remove double asterisks from block quotes.
git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i
Fix asterisk line lengths
git grep -l '^[ /][*]\{79,\}[*/]' | \
xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3",
Test: mma -j32
Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
Myles Watson [Tue, 29 Nov 2016 17:40:47 +0000 (09:40 -0800)]
embdrv: Fix include ordering before clang-format
clang-format re-orders #include statements. Fix the includes
so that order is less important.
Test: mma -j32
Change-Id: Ia548c2c7d5669e0e759b3c5e7fa12a1ec48cc03e
Ajay Panicker [Tue, 22 Nov 2016 21:28:43 +0000 (13:28 -0800)]
Remove more usages of UINT_TO_PTR macro
Bug:
32995283
Test: Sanity tests with a carkit and a headset
Change-Id: Ie74ece4814499f771eb1f229558de7df5c726180
Treehugger Robot [Wed, 30 Nov 2016 19:49:44 +0000 (19:49 +0000)]
Merge "Add a missing error check when processing AVDT_RECONFIG_CFM_EVT event"
Pavlin Radoslavov [Mon, 28 Nov 2016 22:32:40 +0000 (14:32 -0800)]
Add a missing error check when processing AVDT_RECONFIG_CFM_EVT event
Bug:
33114181
Test: Code compilation
Change-Id: Ic2d432b651ea80af2b0ff40fdb61221b0fc31f82
Myles Watson [Tue, 29 Nov 2016 18:58:00 +0000 (10:58 -0800)]
Run clang-format on every commit
Test: repo upload --cbr .
Change-Id: Ib4bea4649320db8890399dda8a285bab69f4b482
Treehugger Robot [Wed, 30 Nov 2016 01:31:20 +0000 (01:31 +0000)]
Merge "AVRCP: Fix get metadata attribute responses"
Sanket Agarwal [Wed, 30 Nov 2016 01:23:42 +0000 (01:23 +0000)]
Merge "Add Bluetooth device address parameter to HF Client APIs"
Sanket Agarwal [Mon, 28 Nov 2016 23:46:29 +0000 (15:46 -0800)]
Add Bluetooth device address parameter to HF Client APIs
Bug:
30984220
Test: SL4A tests for HFP
Change-Id: I62cb69b4296e1b5bdf951ccfafc55433f1ea0a1a
Jakub Pawlowski [Tue, 29 Nov 2016 19:45:09 +0000 (11:45 -0800)]
Cleanup GATT cache when remote device is disconnected
According to Bluetooth spec, GATT cache should not be persisted between
reconnections for unbonded devices. Bonded devices store the cache on
the disk and will read it on reconnection.
Bug:
33123476
Test: sl4a GattReadTest
Change-Id: If2ca53c7b22a346e7236514ea7b461695c923f74
Jack He [Sun, 20 Nov 2016 01:08:28 +0000 (17:08 -0800)]
AVRCP: Fix get metadata attribute responses
* Add checks for remaining buffer capacity to handle long metadata
* Change the attribute number max to AVRC_MAX_NUM_MEDIA_ATTR_ID
* Consolidate attribute value filling code between GetElementAttributes
and GetItemAttributes
* Check requested media attribute IDs before building response
Bug:
32407250,
33001066
Test: manual - connect to carkit and play music, see metadata and hear audio
Change-Id: I8f0c47148be35100202398c754861abb1fb9def1
Marie Janssen [Tue, 22 Nov 2016 23:01:42 +0000 (15:01 -0800)]
readability fix: No assigns in if conditionals
Coccinelle-assisted:
@@
variable i;
expression E;
statement S1, S2;
@@
+ i = E;
if (
(
- (i = E)
+ i
!= ...
|
- (i = E)
+ i
== ...
|
- (i = E)
+ i
< ...
|
- (i = E)
+ i
> ...
|
- (i = E)
+ i
<= ...
|
- (i = E)
+ i
>= ...
|
- (i = E)
+ i
)
) S1 else S2
for file in $(find . -name "*.cc"); do
spatch --sp no-if-assigns.cocci --in-place $file
done
clang-format --style=file -i bta/**/*.cc
Test: mma -j37 and basic sanity testing on angler, sailfish
Change-Id: I41a2964afac347c24e13869b6c172e321e646091
Marie Janssen [Mon, 28 Nov 2016 16:51:08 +0000 (16:51 +0000)]
Merge "Fix an inappropriate NULL-pointer check in handle_rc_passthrough_cmd"
Treehugger Robot [Thu, 24 Nov 2016 05:54:57 +0000 (05:54 +0000)]
Merge "Fix x86_64 compilation on Ubuntu 14.04"
Treehugger Robot [Thu, 24 Nov 2016 03:24:51 +0000 (03:24 +0000)]
Merge changes I9ebb32f0,I00393e2b
* changes:
Fix formatting after removing defines
Remove BTA_GATT_INCLUDED
Jack He [Tue, 22 Nov 2016 20:39:52 +0000 (12:39 -0800)]
Fix x86_64 compilation on Ubuntu 14.04
* Add necessary includes in bt_trace.h
* Add toolchain specific configs
* Add libc++ import for clang
* Add libc++abi include for clang
* Add ipc_handler_linux.cc in service/BUILD.gn
* Use shared_mutex when _LIBCPP_VERSION < 3500
* Updated the build instructions
Test: ninja -C out/Default
Change-Id: I362ebf33f62910be817339cc6bdc62830f57db30
liuchao [Wed, 23 Nov 2016 08:21:01 +0000 (16:21 +0800)]
Fix an inappropriate NULL-pointer check in handle_rc_passthrough_cmd
This fixes a potential NULL-pointer access in case p_remote_cmd is NULL
Test: mm -j 8
Change-Id: I06ae9afb9ae161296828e06b2c00d921189bee5c
Pavlin Radoslavov [Thu, 24 Nov 2016 00:36:14 +0000 (16:36 -0800)]
Fix a unit test failure related to SBC maxbitpool testing
The unit test failure was introduced / overlooked by an earlier CL.
Test: running "test/run_unit_tests.sh net_test_stack"
Change-Id: I40824a903a0dbef3bdab965ef5c390a8939cc5ee
Myles Watson [Wed, 16 Nov 2016 00:33:22 +0000 (16:33 -0800)]
Fix formatting after removing defines
clang-format -i --style=file bta/*/* btif/*/* include/*
Test: mma -j32
Change-Id: I9ebb32f0cc5bd24a7cb2ae25699999aab5036b13
Myles Watson [Tue, 15 Nov 2016 00:45:15 +0000 (16:45 -0800)]
Remove SMP_INCLUDED define
Test: Connect to a BLE Keyboard
Change-Id: I785692cb61f4ca5ccccab7424aa03f50c54523c9
Myles Watson [Fri, 18 Nov 2016 16:42:23 +0000 (08:42 -0800)]
Remove BTA_GATT_INCLUDED
Test: Connect to a BLE Keyboard
Change-Id: I00393e2bf09fb65533e953896563e69aab5a22dc
Myles Watson [Mon, 14 Nov 2016 20:05:37 +0000 (12:05 -0800)]
Remove BLE_INCLUDED define
Test: Connect to a BLE Keyboard
Change-Id: I5f8f4017c90c3c404004632fd10e6c2b93bd7783
Sanket Agarwal [Wed, 23 Nov 2016 02:11:36 +0000 (02:11 +0000)]
Merge "Audio pops due to queue not flushed when focus taken off"
Treehugger Robot [Wed, 23 Nov 2016 01:51:51 +0000 (01:51 +0000)]
Merge "Report proper advertiser status on registration error"
Marie Janssen [Wed, 16 Nov 2016 17:58:22 +0000 (09:58 -0800)]
btif: DRY up command functions
also:
clang-format -i --style=file btif/src/btif_rc.cc
Test: sl4a AvrcpController tests
Change-Id: I95f7e6922c096e2460ecdeafad162515f5600d97
Sanket Agarwal [Tue, 22 Nov 2016 23:00:25 +0000 (15:00 -0800)]
Audio pops due to queue not flushed when focus taken off
Test: (Manual) The stutter after music is resumed is gone
Bug: b/
32296397
Change-Id: Id188c56a196c2ece13510488e6bcfb717bcc610c
Jakub Pawlowski [Tue, 22 Nov 2016 20:51:20 +0000 (12:51 -0800)]
Report proper advertiser status on registration error
When advertiser is not started because too many advertisers are
registered, return proper error code.
Bug:
30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: Ie8a94b964170edbbf1c56f39b03ad98f745a4861
Ajay Panicker [Mon, 21 Nov 2016 21:16:48 +0000 (13:16 -0800)]
Remove some usages of UINT_TO_PTR macro
Bug:
32995283
Test: Sanity test with various devices
Change-Id: I20a0b1571c044170ba5a8792d8e990a6790cbce2
Marie Janssen [Tue, 22 Nov 2016 15:50:15 +0000 (07:50 -0800)]
Constant Cleanup: Remove BT_TRACE_VERBOSE
BT_TRACE_VERBOSE turned on constants-as-strings in
logs in many parts of the stack, which is preferable
to obscure numbers.
Test: m -j37, check logspam is not worse than normal on a device
Change-Id: I1d24f1c1337290a8a2bcd9a0d937c9e0f1f1c611
Jakub Pawlowski [Thu, 17 Nov 2016 21:27:28 +0000 (13:27 -0800)]
Move startAdvertising() logic into native code (2/3)
AdvertiseManager.startAdvertising() was implemented in Java layer for
historical reasons. Now that we have nice native callbacks and tests,
it can be moved into native code, where it will be shared between
Android daemon and bluetoothtbd.
Bug:
30622771
Test: native tests added to cover startAdvertising
Change-Id: Idf5d3c53b6ad21d8c7e239b5b150b88e073bb709
Andre Eisenbach [Fri, 18 Nov 2016 19:27:44 +0000 (19:27 +0000)]
Merge "Do not reject valid SBC codec parameters"
Andre Eisenbach [Fri, 18 Nov 2016 18:03:46 +0000 (10:03 -0800)]
Do not reject valid SBC codec parameters
Fixes logic in A2DP_CodecInfoMatchesCapabilitySbc that could otherwise
reject valid SBC codec parameters, leading to A2DP being disconnected.
Example:
Tesla Model S - min bitpool = 2; max bitpool = 60
Android - min bitpool = 2; max bitpool = 53
Bug:
32688022
Test: Added test to test_a2dp_is_source_codec_supported to cover this bug
Change-Id: If02bab1c47f926f82a636184cf3cbd1edbbe223a
Jakub Pawlowski [Thu, 17 Nov 2016 19:37:17 +0000 (11:37 -0800)]
Add BUILD.gn for tinyxml
Change-Id: I82d2bb25470d46516e0ab6114bf85cb93f9023ac
Andre Eisenbach [Thu, 17 Nov 2016 05:08:20 +0000 (21:08 -0800)]
Revert "Bluetooth: Fix the issue that peer A2DP SNK device can not auto-reconnect."
This reverts commit
5bd9ffbe6fbf22b7072bc1a63e3152a916276ddf.
Despite the original patch intention, it actually causes various remote
devices (tested Android Auto, Logitech Speakerphone, Tesla Model S and
many more) to no connect A2DP (only HFP) in various re-connect
scenarios.
This is due to the fact that the stream end point type is not correctly
determined yet in some of these scenarios causing the AVDT stream to be
closed prematurely and thus the A2DP connection to fail.
Test: manual; various devices
Fixes:
32688022
Ajay Panicker [Wed, 16 Nov 2016 21:47:27 +0000 (13:47 -0800)]
Limit the use of AVRC_ADV_CTRL_INCLUDED define
Use AVRC_ADV_CTRL_INCLUDED just to control features instead of
controlling features and inclusion of functions.
Change-Id: Ifff0d7006c3d8df1d57c79ace19ee60487c2f0a5
Ajay Panicker [Fri, 11 Nov 2016 04:02:24 +0000 (20:02 -0800)]
Remove pointer to integer cast in btif_sock_l2cap to prevent crash on 64 bit systems
Bug:
24400656
Test: Previously crashed Bluetooth, does not crash after patch
Change-Id: Ia381abca72e46d369a0de1749e42d1b6273a321a
Marie Janssen [Tue, 15 Nov 2016 22:54:16 +0000 (14:54 -0800)]
btif: Remove AVRC_CTRL_INCLUDED ifdefs
AVRCP controller side support is always included now.
Test: croot system/bt && mma -j37
Change-Id: I22260b4f123b352f70cbab54a19b5f8f5f171825
Marie Janssen [Tue, 15 Nov 2016 16:24:24 +0000 (08:24 -0800)]
btif: Remove unused uinput interface code
uinput isn't used anymore; all media commands go through the HAL
Test: croot system/bt && mma -j37
Change-Id: I83ab133794683a26e250ea10927fa95b2e2cb28a
Treehugger Robot [Tue, 15 Nov 2016 21:21:15 +0000 (21:21 +0000)]
Merge "Fix a NULL-pointer check order reverse in GATTC_ConfigureMTU"
liuchao [Mon, 14 Nov 2016 08:13:10 +0000 (16:13 +0800)]
Fix a NULL-pointer check order reverse in GATTC_ConfigureMTU
This fixes a potential NULL-pointer check order reverse
in case failed to get TCB using the TCB index
Test: mm -j 8
Change-Id: I8fcc168d7d077f8df7c7abb9c325c5168fa8cd39
liuchao [Mon, 14 Nov 2016 03:13:12 +0000 (11:13 +0800)]
NULL-pointer access before check in BTM_SetBleDataLength
This fixes a potential NULL-pointer access in case
the ACL DB for the requested BDA is not found.
Test: mm -j 8
Change-Id: I86ab66730aa0d9a143ddde851bd33a05a405bb7f
Treehugger Robot [Tue, 15 Nov 2016 02:18:44 +0000 (02:18 +0000)]
Merge "Copying of pointer with incorrect size"
Sanket Agarwal [Tue, 8 Nov 2016 22:23:22 +0000 (14:23 -0800)]
Copying of pointer with incorrect size
We are passing the value in pointer (UINT_TO_PTR) hence no copy is
required for the context transfer (simply use the UINT value in the
event field instead)
Change-Id: I43625c3a4d68cd8cbadd51b1fccc4138583082b6
Jakub Pawlowski [Mon, 14 Nov 2016 23:57:42 +0000 (15:57 -0800)]
Remove unused GATT_Listen
Bug:
30622771
Test: still builds
Change-Id: I4003a1241e611c9c1f2a21090ea3ba7530b0643a
Jakub Pawlowski [Mon, 14 Nov 2016 19:20:52 +0000 (11:20 -0800)]
Reenable advertising instance after an LE advertising state change
Ensure BleAdvertisingManager::OnAdvertisingStateChanged() is called
after an advertising state change to re-enable advertising after
a connection.
This patch also fixes the registration test, which was broken since
one more advertising instance was freed for general usage.
Test: net_test_stack_multi_adv native test
Change-Id: I76887d98cb3ec386ebc0f7fad95170b8c18b9116
liuchao [Fri, 11 Nov 2016 07:51:39 +0000 (15:51 +0800)]
Remove useless NULL-pointer check code in l2cap_client_new
Remove the useless "error:" label and NULL-pointer check block
Test: mm -j 8
Change-Id: I218f5f1e2741a49a0fe9bec749dea2484a1df2eb
Marie Janssen [Fri, 11 Nov 2016 17:07:04 +0000 (09:07 -0800)]
AVRCP: unify Get{Element,Item}Attributes response.
GetElementAttributes response and GetItemAttributes response share the
same format and require the same checks for length.
Test: play media on carkit, see media. especially with long items.
Bug:
32407250
Bug:
30571638
Change-Id: I8623e7d662f7a39112b7527b6f5ab63c5e32379c
Treehugger Robot [Sat, 12 Nov 2016 00:52:50 +0000 (00:52 +0000)]
Merge "Fix how LE connection parameters are set after connecting"
Jakub Pawlowski [Thu, 3 Nov 2016 22:41:50 +0000 (15:41 -0700)]
Unify advertising API (1/3)
This patch unifies advertising API. On startup, if VSC multi advertising
is avaliable, it will be used, otherwise
BleAdvertiserLegacyHciInterfaceImpl will be used, which provides one
advertising instance.
Test: sl4a tests are passing, all proper tests updated accordingly
Change-Id: I73753962e3a33a980e8a9a1174c8d88611a47e6b
Jakub Pawlowski [Wed, 9 Nov 2016 01:23:11 +0000 (17:23 -0800)]
Always use big endian for keeping service UUID
When adding services to GATT database, applications should always provide
it in big endian format.
Bug:
32750783
Change-Id: I5264357bdbb6bab453b63baae6563cde86d20bac
Jakub Pawlowski [Fri, 11 Nov 2016 21:35:18 +0000 (13:35 -0800)]
Fix how LE connection parameters are set after connecting
This patch fixes bug introduced in commit
95075be6e95e9021c1ddd834bcf9e3771c57c217
which would cause unnecessary connection parameter update requests
to be send. It should be sent immediately after connecting only.
Bug:
32563079
Bug:
28435172
Change-Id: Ibd9301a990f12a94e8043b9c29a480f068251ba8
Matadeen Mishra [Wed, 23 Sep 2015 16:56:46 +0000 (22:26 +0530)]
Handling Authentication Failure From the lower layer
Use case: DUT unable to do connect with all devices in
Multipairing case.
Steps:
1. pair with HS
2. disconnect HS.
3. reconnect HS from DUT.
Failure: Authentication failure occurred due to LMP
transaction collision DUT not deleting link key which
lead to unable to connect to device.
Root Cause: Not posting the Authentication failure
event to application layer, while removing the link-key.
Fix: Post the Authentication failure event to application
and removing the link-key.
Test: code compilation.
Change-Id: I079d8ce89c1fea66f0624127514cec8405bfdd3d
Ajay Panicker [Wed, 9 Nov 2016 03:25:43 +0000 (19:25 -0800)]
Move callback to dispatch thread
Change the thread that the timeout posts a connection request event to
so that the state machine handles calling the callback on the correct
thread to prevent a JNI crash.
Bug:
32754737
Test: Manually paired a device that normally crashes phone
Change-Id: I2c3384feaa404cc583e81b2df994b7cbd079d25d
Jakub Pawlowski [Thu, 10 Nov 2016 23:56:46 +0000 (15:56 -0800)]
Fix incorrect check for empty out-of-band pairing data
Bug:
32780409
Test: try pairing with nRF52DK using OOB LE SC
Change-Id: I3c165843bb76c372b76bdc18a7d9226345d39037
Treehugger Robot [Thu, 10 Nov 2016 21:15:32 +0000 (21:15 +0000)]
Merge "device: Fix multi-line comments"
Jakub Pawlowski [Thu, 10 Nov 2016 00:39:10 +0000 (16:39 -0800)]
BLE OOB Pairing - parse address type (1/5)
When address type is not parsed, creating bond to devices not using
random address is impossible.
Bug:
32780409
Test: try pairing with nRF52DK using random address
Change-Id: I95c4ebc7bd03cd1b895c9f17deef2e57d8b57d2a
Myles Watson [Wed, 9 Nov 2016 18:27:00 +0000 (10:27 -0800)]
device: Fix multi-line comments
Test: mma -j32
Change-Id: I1df0e71cba73cfde0d973498698c7d6fa017e14a
Myles Watson [Wed, 9 Nov 2016 18:20:44 +0000 (10:20 -0800)]
device: Apply clang-format
clang-format -i --style=file device/include/* \
device/src/* device/test/*
Test: mma -j32
Change-Id: I1a0f9e1cd838c025fca487347358cc0079265004
Myles Watson [Wed, 9 Nov 2016 22:25:23 +0000 (14:25 -0800)]
bta: Fix comment formatting after clang-format
Test: mma -j32
Change-Id: Ic945ac421b1918527105c59674eda89afd3d4126
Myles Watson [Wed, 9 Nov 2016 21:17:43 +0000 (13:17 -0800)]
bta: Apply clang-format
clang-format -i --style=file bta/*/*
(twice)
Test: mma -j32
Change-Id: Ib118b1dfb6a34f9a5bfe153d65841e9041165264
Myles Watson [Wed, 9 Nov 2016 21:04:33 +0000 (13:04 -0800)]
bta: Prepare include statements for clang-format
bta: Separate includes of different types
Include "bta_sys.h" in bta/dm/bta_dm_int.h
Test: mma -j32
Change-Id: I292bc6518230201e1175937b9c6766c19709c9d5
Myles Watson [Wed, 9 Nov 2016 18:40:23 +0000 (10:40 -0800)]
bta: Remove double asterisks in comments
Double asterisks at the beginning of the line
sed -i s,"^[*][*]"," *", bta/*/*
Double asterisks after a space
sed -i s,"^ [*][*]\([^*]\)"," *\1", bta/*/*
sed -i s,"^ [*][*]$"," *", bta/*/*
Test: mma -j32
Change-Id: Ib83b802c7000176683b4e7f24d1255b3c2c6c01c
Myles Watson [Wed, 9 Nov 2016 17:47:42 +0000 (09:47 -0800)]
include: Apply clang-format
clang-format -i --style=file include/*
Test: mma -j32
Change-Id: Ibfb31af3fa82cfd6021fdc3203381b91e57bb71e
Myles Watson [Wed, 9 Nov 2016 17:41:48 +0000 (09:41 -0800)]
include: Fix comment formatting
In preparation for clang-format, fix a few comments that
would have been mangled.
Test: mma -j32
Change-Id: I7194818e93432f8bad4d7c114a93025e217aa694
Myles Watson [Tue, 8 Nov 2016 22:44:50 +0000 (14:44 -0800)]
bta: Remove executable permissions from code
Test: mma -j32
Change-Id: I2d0df65001c82b37f001ba4697e58c206f2a4b9c
Pavlin Radoslavov [Tue, 8 Nov 2016 00:57:53 +0000 (00:57 +0000)]
Revert "Replace pthread_mutex with std::mutex"
This reverts commit
4b801825bd90b826fb53d51f497aba87d6d00d8c.
Change-Id: I862272c682409778dce356c8cba497ea4b78b14d
Treehugger Robot [Mon, 7 Nov 2016 22:17:54 +0000 (22:17 +0000)]
Merge "AVRCP: Passthrough code cleanup"
Marie Janssen [Fri, 4 Nov 2016 19:36:14 +0000 (12:36 -0700)]
AVRCP: Passthrough code cleanup
Simplify the code surrounding passthrough commands and responses since
we send them all up to the upper layer now.
Test: basic AVRCP control from a carkit
Change-Id: I1d1e22454471a9948df6602b34ae767d7091197c
Andre Eisenbach [Sat, 5 Nov 2016 00:43:17 +0000 (17:43 -0700)]
Mask out HFP 1.7 feature bits if peer version is <1.7
Bug:
32378402
Test: manual
Change-Id: Iac8684bdfd02b18cce260bedefb829e8f7285361
Marco Nelissen [Thu, 3 Nov 2016 17:34:08 +0000 (10:34 -0700)]
Use libaudioclient instead of libmedia
Test: build/boot
Change-Id: I8aa5cb6c5351d04daf7117cf8bb983da50d4b089
(cherry picked from commit
af8b51c4061a5d0c18841195dfa1f4deaf9179b5)
Treehugger Robot [Fri, 4 Nov 2016 21:22:39 +0000 (21:22 +0000)]
Merge "Enable AVRCP Volume commands in TG role"
Treehugger Robot [Fri, 4 Nov 2016 21:11:34 +0000 (21:11 +0000)]
Merge "Add missing brackets for "if" statement inside BTM_ConfirmReqReply()"
Ayan Ghosh [Fri, 6 Dec 2013 11:41:11 +0000 (17:11 +0530)]
Restart sniff timer on AVDTP signalling channel establishment
VolksWagan UHV Preminum takes time to initiate AVDTP media channel
after AVDTP signalling channel is up. If mentioned duration exceeds
7 seconds then ACL link goes into sniff due to which A2dp Connection
fails.
With this change we make sure that when AVDTP signalling channel
is up and media channel is not connected we do not go to sniff,
which is achieved by restarting sniff timer on signalling channel up
so that link does not go to sniff in between ongoing connection.
Change-Id: Ic3f268703067155ffd55a43f320ce199641c6b3f
Treehugger Robot [Fri, 4 Nov 2016 20:35:26 +0000 (20:35 +0000)]
Merge "Replace pthread_mutex with std::mutex"
Treehugger Robot [Fri, 4 Nov 2016 20:26:04 +0000 (20:26 +0000)]
Merge "Enable incoming connection for AVRCP Controller"
Treehugger Robot [Fri, 4 Nov 2016 19:59:37 +0000 (19:59 +0000)]
Merge "Handle L2CAP disconnection on incomplete connection"
Arun Jagadish [Wed, 18 May 2016 10:34:20 +0000 (16:04 +0530)]
Enable AVRCP Volume commands in TG role
Enables the bits for AVRCP Vol UP, VOL Down and
Mute based on ICS document.
Change-Id: I50cdd97812b260812edf4d005c4dd95177d53426
Signed-off-by: Arun Jagadish <arun.jagadish@intel.com>
Jack He [Fri, 4 Nov 2016 18:18:32 +0000 (11:18 -0700)]
Add missing brackets for "if" statement inside BTM_ConfirmReqReply()
This fixes a potential NULL-pointer reference crash in case
btm_find_dev() returns NULL.
Test: mm -j 8
Change-Id: Ic154b872ca84b4e9e8bc57803a4d9ee7c1665204
Anubhav Gupta [Tue, 5 May 2015 14:54:47 +0000 (20:24 +0530)]
Enable incoming connection for AVRCP Controller
- Start listening for incoming AVRCP connection if we have
only AVRCP Controller
- Update default peer_features based on feature mask. In case
of incoming AVRCP connection, SDP will be done later.
In such a scenario default peer features sent to btif should
be based on features-set selected during initialization.
Test: code compilation
Change-Id: Ied8ac0673288a4423bd41500985366ddc2c567a8
Matadeen Mishra [Wed, 3 Feb 2016 15:11:26 +0000 (20:41 +0530)]
Move HDP reg_counter updates to BTIF thread
Use case: register/unregister HDP from third party APK
Test Steps:
1.Install Any Test APK which internally registers/unregister the HDP.
2.Run Test APK.
3.Do initialization of Test APK which internally registers the HDP.
4.Force stop the Test APK.
5.And rerun the APK by going back test APK menu.
6.Now it never perform the re-register the HDP as part of initialization.
Root Cause: HDP registration related counter write operations are done
in JNI main thread, and it's been referenced in BTIF thread.Sometimes,
if the context switch to BTIF thread doesn't happen immediately after
counter increment/decrement, it may not un-register the app if the
counter becomes 0.
Fix: Fixed it by making all operations related to counter in BTIF
thread, so that de-registration happens for all HDP APPs.
Test: code compilation.
Change-Id: I71ace68a5f3d39d81b646f5f40c02ce56b9e93f0
Srinu Jella [Wed, 16 Mar 2016 13:08:55 +0000 (18:38 +0530)]
Handle L2CAP disconnection on incomplete connection
- Sometimes before receiving the connection complete
event from remote device, upper layer might send a
disconnection on incomplete L2CAP connection, and expects
notification of connection failure.
- This change notifies disconnection to upper layers with
error in case L2CAP disconnection is received on
incomplete L2CAP channel.
Test: code compilation.
Change-Id: I4ab675329b3d791a3f68101495a6e6d90b13bde4
Marie Janssen [Thu, 3 Nov 2016 01:31:55 +0000 (18:31 -0700)]
Replace pthread_mutex with std::mutex
In an effort to simplify and reduce errors, replace pthread_mutexes
with std equivalents.
Test: run unit tests & manual sanity checks
Change-Id: Ia6492b0007dca311ebd1579f52b206993b7535fd
Andre Eisenbach [Fri, 4 Nov 2016 16:18:48 +0000 (09:18 -0700)]
Add OWNERS file
Change-Id: Id022d0c98ab3bddc8ceabef148a6c8d1cc4f0bc8
Treehugger Robot [Fri, 4 Nov 2016 01:39:27 +0000 (01:39 +0000)]
Merge "Remove incorrect assert in btm_read_rssi_cb"
Jakub Pawlowski [Thu, 3 Nov 2016 22:01:28 +0000 (15:01 -0700)]
Use standard types instead of OI_INT* and OI_UINT* types
Test: mma -j45
Change-Id: Ieadd33bfe1be9439e1aeb9a7844260a6e33d8dcd
Treehugger Robot [Fri, 4 Nov 2016 00:31:49 +0000 (00:31 +0000)]
Merge "Replace DWORD with uint32_t"
Andre Eisenbach [Thu, 3 Nov 2016 22:05:22 +0000 (15:05 -0700)]
Remove incorrect assert in btm_read_rssi_cb
|data| may be NULL if the RSSI request times out.
See btm_read_rssi_timeout implementation for details.
Bug:
32587130
Test: manual
Change-Id: I12ad78ecf5f5859bee7e1536956756bc16d7e54e
Jakub Pawlowski [Thu, 3 Nov 2016 21:18:55 +0000 (14:18 -0700)]
Replace DWORD with uint32_t
Test: mma -j45
Change-Id: Ia96e87460a22c9c14ba682d07dfcb3bf5479add8
Sanket Agarwal [Wed, 2 Nov 2016 22:01:32 +0000 (15:01 -0700)]
Use rc_handle for reconciliation of timer callback
Since the timer callback requires copy of the passed argument, it is not
a good idea to pass non-constant data. Instead passing handle since
lookup based on the handle is safe against possible corruption.
Bug: b/
32610667
Change-Id: I02270b0f52d79310e2db8cf218f624eeb674b9c8
Sanket Agarwal [Wed, 2 Nov 2016 18:56:44 +0000 (11:56 -0700)]
Check A2DP source is not already shut{ting} down
In case A2DP is not enabled we are still executing the shut down path
which is leading to a race condition and posting to a thread queue which
is never created.
Bug: b/
32610895
Change-Id: Id0cf95f4c7b5be26be28db5e837fbca3a0a87072
Pavlin Radoslavov [Tue, 25 Oct 2016 17:17:56 +0000 (10:17 -0700)]
A2DP codec related fixes and cleanup
* Update bta_av_co_audio_getconfig() to select the preferred codec
* Fix a bug in selecting the A2DP codec inside
bta_av_co_audio_set_codec()
* No need for function A2DP_ParsSbcMplHdr() to be exposed in the API
* Generalize the following APIs, so they can be used to redirect
the call for vendor-specific codecs:
- A2DP_CodecSepIndexStr()
- A2DP_InitCodecConfig()
- A2DP_SetSourceCodec()
* Change tA2DP_ENCODER_INIT_PARAMS.SamplingFreq from uint16_t to
uint32_t so it can store larger sampling frequency.
* Rename content protection constants from BTA_AV_CP_*
to AVDT_CP_* and move them from bta_av_co.h to avdt_api.h
* Rename some of the internal functions in a2dp_sbc.cc
* Add extra debug logging and fix some comments
Test: A2DP streaming, unit tests passing
Change-Id: I1b67ff18dc568dd859429fcd89c644799fb1438d
Jakub Pawlowski [Wed, 2 Nov 2016 03:21:38 +0000 (03:21 +0000)]
Merge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"
Satish Kodishala [Wed, 22 Jun 2016 08:52:41 +0000 (14:22 +0530)]
AG: CLCC response can contain non-ATD characters
Test case:
1. Connect Plantronics backbeat PRO headset.
2. Initiate outgoing call from phone.
3. Accept the call from remote side and terminate call.
4. Try to redial from headset and observe
Failure:
AG is sending error for redial request from BT headset.
Root cause:
Sometimes, the number in CLCC response has "-".
Repeated from the headset, the ATD string has "-"
which is not allowed in the dial string for ATD and
errors.
Fix:
* Sanitize CLCC response to only include valid ATD characters.
* Accept "-" in ATD because it works for us.
Change-Id: I854165c7da295f428852c829543eb4fc18455d91
Jakub Pawlowski [Tue, 1 Nov 2016 20:43:03 +0000 (13:43 -0700)]
Remove unused BLE_PERIPHERAL_MODE_SUPPORT
This patch removes BLE_PERIPHERAL_MODE_SUPPORT and all code related to
it, which is unused.
Bug:
30622771
Bug:
24099160
Change-Id: Ic9cc2a94c8d1b974814d453ee8a0073e7d6deb85
Jakub Pawlowski [Tue, 1 Nov 2016 22:30:42 +0000 (22:30 +0000)]
Merge "Move start advertise method to advertising interface (3/3)"
Treehugger Robot [Tue, 1 Nov 2016 21:40:44 +0000 (21:40 +0000)]
Merge "Assign pairing code to bta_dm_cb before device name resolution"
Jakub Pawlowski [Mon, 31 Oct 2016 18:15:20 +0000 (11:15 -0700)]
Move start advertise method to advertising interface (3/3)
Advertising related code should be exposed through
BleAdvertiserInterface. Move client.listen function into this interface.
Remove reduntant clientif parameter.
Bug:
30622771
Bug:
24099160
Test: no tests necessary
Change-Id: Icc865c062e3d7c4b83bbeea6ff5b08bd2c1c4d9a
Treehugger Robot [Tue, 1 Nov 2016 20:53:13 +0000 (20:53 +0000)]
Merge "Simplify BTA_GATTC_Listen"
Jack He [Tue, 1 Nov 2016 18:30:51 +0000 (11:30 -0700)]
Assign pairing code to bta_dm_cb before device name resolution
Device name resolution, BTM_ReadRemoteDeviceName(), will cause
bta_dm_sp_cback() to exit early and bta_dm_pinname_cback() callback
will be invoked after the resolution, which continues the pairing
with pairing code from bta_dm_cb.num_val. Hence, bta_dm_cb.num_val
needs to be assigned before BTM_ReadRemoteDeviceName() is called.
Test: manual
Bug:
31381715
Change-Id: I61f06a9d878dd72154d6621eb094dcea5f701cbc