OSDN Git Service
Jack He [Fri, 10 Feb 2017 00:21:40 +0000 (00:21 +0000)]
Use same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log am:
071b507ad4
am:
ae0c098aaa
Change-Id: I51273b1a197582e4be846cc1980c157721f2536a
Jack He [Fri, 10 Feb 2017 00:19:42 +0000 (00:19 +0000)]
Use same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log
am:
071b507ad4
Change-Id: Ie19de8d98cdf01ac1b66d146742f19a769969f9f
Jack He [Wed, 8 Feb 2017 01:25:15 +0000 (17:25 -0800)]
Use same timestamp for on-disk BT Snoop Log and in-memory BT Snooz Log
* Logcat uses gettimeofday for its timestamp, the same as on-disk BT
Snoop log
* Although in-memory BT Snooz Log uses the same method to get time, it
is calling it separately, resulting in mismatch between timestamps of
two snoop logs
* This CL let them uses the same timestamp_us value and put the function
definition to libosi
* Note that preserved on-disk BT Snoop logs timestamp postfix at
btsnoop_hci_<timestamp>.log
will be changed to microsecond since epoch at current device timezone
instead of the shifted BT Snoop timestamp value
* New unit tests for gettimeofday
Bug:
35113514
Test: Make, unit tests, run BT activities and check both snoop logs
Change-Id: I5b3f87bc523b272ced2c69a4595d0e0cbe29bcb3
Pavlin Radoslavov [Thu, 9 Feb 2017 22:42:39 +0000 (22:42 +0000)]
Merge "Guard btsnooz ringbuffer access from multiple threads" am:
82fc2a96ef
am:
3c7a71dcd2
Change-Id: Ie6a1fe91e12bba1df5ad998b3b9f5ca47a298beb
Kenmochi, Chisato [Thu, 9 Feb 2017 22:42:28 +0000 (22:42 +0000)]
Fix AAC bitrate computation and add missing parameters am:
3b8f12614f
am:
495467f9af
Change-Id: I232ee1e8b0f7b7b2b9a22ea60411497d3f392391
Pavlin Radoslavov [Thu, 9 Feb 2017 22:40:45 +0000 (22:40 +0000)]
Merge "Guard btsnooz ringbuffer access from multiple threads"
am:
82fc2a96ef
Change-Id: I75ad53c392554ea41694a9d314e1503009c076ce
Kenmochi, Chisato [Thu, 9 Feb 2017 22:40:28 +0000 (22:40 +0000)]
Fix AAC bitrate computation and add missing parameters
am:
3b8f12614f
Change-Id: I9ecff0dfe4d804678c6dc5c3bc2fc0f5d0a324ed
Pavlin Radoslavov [Thu, 9 Feb 2017 22:35:05 +0000 (22:35 +0000)]
Merge "Guard btsnooz ringbuffer access from multiple threads"
Kenmochi, Chisato [Thu, 9 Feb 2017 20:23:47 +0000 (12:23 -0800)]
Fix AAC bitrate computation and add missing parameters
* Compute the AAC codec bitrate based on the MTU and the AAC
object type such that the AAC frames are not fragmented.
The spec recommendation is to avoid fragmentation, and
some sink devices cannot process fragmented frames.
* Setup/assign AACENC_PEAK_BITRATE as the peak bitrate to
make sure we never go over the MTU frame size.
* Add missing AAC parameter setup for AACENC_AUDIOMUXVER
and AACENC_SIGNALING_MODE
* Add a fix for selecting the bitrate if the sink device reports
capability with zero bitrate - for such devices we negotiate
our bitrate. For the actual AAC codec bitrate we still compute
it based on the MTU and the AAC object type.
Test: Tested with numerous AAC sink devices
Bug:
34953385
Change-Id: I9ca6353b0e1ee107f1242803de4e82d568a3394b
Andre Eisenbach [Thu, 9 Feb 2017 19:44:04 +0000 (11:44 -0800)]
Guard btsnooz ringbuffer access from multiple threads
Since moving to HIDL, the btsnooz packet ringbuffer can be accessed from
two separate threads. Thus it should be guarded from concurrent access
to avoid pointer corruption.
Bug:
35182804
Test: manual
Change-Id: I3e6e1a869887a7ad5d87d8bb09ed78a22b3383ae
Myles Watson [Wed, 8 Feb 2017 14:05:17 +0000 (14:05 +0000)]
Merge "Use CHECK() to verify that HIDL is installed" am:
c9f353fa78
am:
54c96032e0
Change-Id: I008018491d3a92a8acb023fd08ddf7bf835a645e
Myles Watson [Wed, 8 Feb 2017 14:03:16 +0000 (14:03 +0000)]
Merge "Use CHECK() to verify that HIDL is installed"
am:
c9f353fa78
Change-Id: Ie4c283f10611062df08cfc7f6520b3a31e6363cc
Treehugger Robot [Wed, 8 Feb 2017 14:00:07 +0000 (14:00 +0000)]
Merge "Use CHECK() to verify that HIDL is installed"
Pavlin Radoslavov [Wed, 8 Feb 2017 10:55:34 +0000 (10:55 +0000)]
Merge "Fix the implementation of htonll()" am:
9c0d0af2b0
am:
87b1567d58
Change-Id: I056cb3496c0c572c710e2c60a5ac5a9812d0cdb9
Pavlin Radoslavov [Wed, 8 Feb 2017 10:53:34 +0000 (10:53 +0000)]
Merge "Fix the implementation of htonll()"
am:
9c0d0af2b0
Change-Id: I31333bc5c25744a5a438bfc36d6ba347cc761b5f
Treehugger Robot [Wed, 8 Feb 2017 10:50:04 +0000 (10:50 +0000)]
Merge "Fix the implementation of htonll()"
Pavlin Radoslavov [Tue, 7 Feb 2017 02:48:18 +0000 (18:48 -0800)]
Fix the implementation of htonll()
Prior the fix, all btsnoop entries had same timestamp.
Bug:
35111777
Test: Examine the btsnoop log file with Wireshark
Change-Id: I9e664475ff5b4ffc543d95b90a47c7f80fdc0370
Sanket Agarwal [Tue, 7 Feb 2017 21:56:50 +0000 (21:56 +0000)]
Merge "AVRCT CT: uint8_t is used for 2byte field" am:
a84ef64eb8
am:
f474d5f2d1
Change-Id: I63d485dde672adbf2ffce916478e8c2875fb9a40
Sanket Agarwal [Tue, 7 Feb 2017 21:56:40 +0000 (21:56 +0000)]
HF Client: SCO routing with multiple devices am:
ac109dc225
am:
66d065b665
Change-Id: I19469783e0304d09b1d342a6cb8ca74681f536d2
Sanket Agarwal [Tue, 7 Feb 2017 21:54:18 +0000 (21:54 +0000)]
Merge "AVRCT CT: uint8_t is used for 2byte field"
am:
a84ef64eb8
Change-Id: I0f7fee007ae4a5b3bd19fa2862e0c22aa7f46cae
Sanket Agarwal [Tue, 7 Feb 2017 21:54:07 +0000 (21:54 +0000)]
HF Client: SCO routing with multiple devices
am:
ac109dc225
Change-Id: Id8893897e60105f11e7b7637a666aaa6cab957ad
Sanket Agarwal [Tue, 7 Feb 2017 21:49:00 +0000 (21:49 +0000)]
Merge "AVRCT CT: uint8_t is used for 2byte field"
Myles Watson [Tue, 7 Feb 2017 13:14:06 +0000 (05:14 -0800)]
Use CHECK() to verify that HIDL is installed
Test: build, boot test on angler
Change-Id: Ia64dcceedc233ef494ab0fdce7ee649e74fa45a0
Sanket Agarwal [Tue, 31 Jan 2017 21:43:58 +0000 (13:43 -0800)]
HF Client: SCO routing with multiple devices
For SCO it makes sense only to have one active connection at a time for
any device since simultaneous SCO calls in a single device is
un-reasonable. This change changes the SCO state machine in following
ways:
a) SCO is not setup automatically whenever AG wants, the client for this
BTA layer will have to call connect_audio to start SCO
b) Also when we disconnect SCO for a device, it does not go into a
listen state. We are making sure that the upper layer caller always has
to call connect to accept a connection
Bug: b/
34518638
Test: Manual testing w/ multiple active calls and SCO switching
Change-Id: I6e6c4c6e6ee19e44e3ff14499fb99083102bde5a
Sanket Agarwal [Tue, 7 Feb 2017 01:56:29 +0000 (17:56 -0800)]
AVRCT CT: uint8_t is used for 2byte field
This causes the upper stack to report incorrect entries if the value is
large
Bug: b/
34682784
Test: Check with a list > 4 items large and packet size big enough to
exceed uint8_t size
Change-Id: I73233a74378d9c091e33f204780a9492505d99b4
Jakub Pawlowski [Tue, 7 Feb 2017 01:35:57 +0000 (01:35 +0000)]
Merge changes from topic 'bt5_scan_props' am:
1e73f14e77
am:
de6a7cbd2a
Change-Id: Iee131acc33feb26afa77a70230042eff6beab234
Jakub Pawlowski [Tue, 7 Feb 2017 01:35:13 +0000 (01:35 +0000)]
Propagate BT5 specific scan result properties up the stack (2/3) am:
7de0f9b78f
am:
685d5c61e4
Change-Id: I63538d28f11389dd03ea61eab0446a139168f40a
Jakub Pawlowski [Tue, 7 Feb 2017 01:35:10 +0000 (01:35 +0000)]
Use new event type in BLE scan am:
d64bf4f6f8
am:
0ff34d8062
Change-Id: I6011791540ed3d6857450738891647cb51a09aec
Jakub Pawlowski [Tue, 7 Feb 2017 01:33:28 +0000 (01:33 +0000)]
Merge changes from topic 'bt5_scan_props'
am:
1e73f14e77
Change-Id: I4639f2dc8b6576cbc8c823810e26ce3846fdc010
Jakub Pawlowski [Tue, 7 Feb 2017 01:32:40 +0000 (01:32 +0000)]
Propagate BT5 specific scan result properties up the stack (2/3)
am:
7de0f9b78f
Change-Id: I9a273c35111bfc60f40be0d11e24f48c75095abb
Jakub Pawlowski [Tue, 7 Feb 2017 01:32:38 +0000 (01:32 +0000)]
Use new event type in BLE scan
am:
d64bf4f6f8
Change-Id: Ia3380083b57bf98a6d9188541292b6a081e6ea6b
Jakub Pawlowski [Tue, 7 Feb 2017 01:29:25 +0000 (01:29 +0000)]
Merge changes from topic 'bt5_scan_props'
* changes:
Propagate BT5 specific scan result properties up the stack (2/3)
Use new event type in BLE scan
Pavlin Radoslavov [Tue, 7 Feb 2017 00:10:39 +0000 (00:10 +0000)]
Add a mechanism to configure the default A2DP codec priorities am:
a6ba5aca4e
am:
6b34e4af2a
Change-Id: I987518130278e2ef51f828cffdfc13cb3a3dc275
Pavlin Radoslavov [Mon, 6 Feb 2017 23:12:30 +0000 (23:12 +0000)]
Add a mechanism to configure the default A2DP codec priorities
am:
a6ba5aca4e
Change-Id: Ifd4cad913643a94b907611d7cf2d1f8b5e5fe2d5
Jakub Pawlowski [Mon, 6 Feb 2017 22:17:30 +0000 (22:17 +0000)]
BLE Advertising Manager test improvements am:
3b2765696a
am:
0663343f11
Change-Id: Id0962866cf3fd58c2b48d36c1295384853d4bff4
Jakub Pawlowski [Mon, 6 Feb 2017 22:12:45 +0000 (22:12 +0000)]
BLE Advertising Manager test improvements
am:
3b2765696a
Change-Id: Ib35e49f00b807af79ba4f711dd1f6154705896c4
Jakub Pawlowski [Fri, 27 Jan 2017 16:06:20 +0000 (08:06 -0800)]
Propagate BT5 specific scan result properties up the stack (2/3)
Bug:
30622771
Test: sl4a FilteringTest
Change-Id: Ib9d18ea3a1fc7d95300415a04b551d66767b04d2
Jakub Pawlowski [Fri, 27 Jan 2017 13:53:07 +0000 (05:53 -0800)]
Use new event type in BLE scan
Right now new event_type in scan result is translated to legacy
one and used through whole stack. This patch make use of new event_type
through whole stack instead.
Bug:
30622771
Test: sl4a FilteringTest
Change-Id: I7420c040b8c54fae00262c939bcabc6c6fcb16e6
Pavlin Radoslavov [Wed, 1 Feb 2017 04:51:06 +0000 (20:51 -0800)]
Add a mechanism to configure the default A2DP codec priorities
Previously, the relative codec priorities were hard-codec internally.
The new mechanism uses the following configurable resources in
packages/apps/Bluetooth/res/values/config.xml to re-assign the
default codec priorities per device, or to explicitly disable a codec.
- a2dp_source_codec_priority_sbc
- a2dp_source_codec_priority_aac
- a2dp_source_codec_priority_aptx
- a2dp_source_codec_priority_aptx_hd
- a2dp_source_codec_priority_ldac
Those values are assigned on startup.
Also, they can be changed per device by using an overlay:
device/<VENDOR>/<DEVICE>/overlay/packages/apps/Bluetooth/res/values/config.xml
Test: Manually streaming to a headset
Change-Id: I5312299aea4a11c92fbe999d521adb39346b9866
Jakub Pawlowski [Wed, 25 Jan 2017 11:06:49 +0000 (03:06 -0800)]
BLE Advertising Manager test improvements
This patch moves mock verification before call to callback. If for any
reason the callback is not properly initialized, this is usually due to
fact that the call didn't reach the mock. Right now in such cases we get
a crash and stack trace. After this patch we will first get information
about the mock not being called properly, then the crash, which would
make debugging such issues much easier.
Bug:
30622771
Test: manual test
Change-Id: Ia182f2eed384924395e8d6b6a2d3d0abd393a4ee
Andre Eisenbach [Sat, 4 Feb 2017 01:15:33 +0000 (01:15 +0000)]
Temporarily disable WBS; to be replaced with eSCO am:
f6d79c5d6c
am:
b785a300ef
Change-Id: Icc65f8c94b8f9fe7bd1400aa9ac245312fbac794
Andre Eisenbach [Sat, 4 Feb 2017 01:08:02 +0000 (01:08 +0000)]
Temporarily disable WBS; to be replaced with eSCO
am:
f6d79c5d6c
Change-Id: I39397f3f4788e17073c3994d587a6ae50aa4486a
Andre Eisenbach [Fri, 3 Feb 2017 22:37:44 +0000 (14:37 -0800)]
Temporarily disable WBS; to be replaced with eSCO
HIDL'ized vendor library does not support custom audio parameter
configuration currently. To be replaced with eSCO commands.
Test: manual
Change-Id: I64850a7cbc6a05376f60f669fe43c3955cfcc08c
Pavlin Radoslavov [Fri, 3 Feb 2017 05:43:55 +0000 (05:43 +0000)]
Fix a memory leak in the osi allocation tracker am:
1aa40037fd
am:
41a7d7f0dd
Change-Id: I50f8a9b75d9eeb7e7b0caa870db1a3d74f2e4edc
Pavlin Radoslavov [Fri, 3 Feb 2017 05:40:55 +0000 (05:40 +0000)]
Fix a memory leak in the osi allocation tracker
am:
1aa40037fd
Change-Id: Ia2163e96693c890005c88ce79726710f378116c7
Pavlin Radoslavov [Fri, 3 Feb 2017 03:47:16 +0000 (19:47 -0800)]
Fix a memory leak in the osi allocation tracker
Add a missing free(allocation) inside allocation_tracker_notify_free()
when freeing a memory buffer.
Prior to switching the allocation tracker to use C++ unordered_map,
the "allocation" bin was kept within (and reused) by the older hash_map
mechanism. However, after the switch to the C++ unordered_map this
is no longer the case, hence the memory leak.
Test: watch -n 1 "adb shell dumpsys meminfo -d BT-PID | grep Heap"
Bug:
34785845
Change-Id: I737c901a6452d29d18fd8b847e7d5ea10c5ff485
Venkata Ramana Rao [Fri, 3 Feb 2017 02:20:13 +0000 (02:20 +0000)]
Merge "Use local CCB variable in loop to check GAP CCB pool" am:
064e8d1273
am:
e9840b1476
Change-Id: Iffb41964e9828c6586216a60ab64402d11406cc9
Venkata Ramana Rao [Fri, 3 Feb 2017 02:17:12 +0000 (02:17 +0000)]
Merge "Use local CCB variable in loop to check GAP CCB pool"
am:
064e8d1273
Change-Id: Ifac39dd2cb84ea065bed2e254aef40bd52f2ab81
Treehugger Robot [Fri, 3 Feb 2017 02:12:31 +0000 (02:12 +0000)]
Merge "Use local CCB variable in loop to check GAP CCB pool"
Manu Viswanadhan [Thu, 2 Feb 2017 23:59:30 +0000 (23:59 +0000)]
Initializing the SDP event message pointer before sending am:
65cca8f2cc
am:
b722434e5a
Change-Id: Ib963b4f53925e9d39f8131a29210b25e93e7f99e
Manu Viswanadhan [Thu, 2 Feb 2017 23:57:01 +0000 (23:57 +0000)]
Initializing the SDP event message pointer before sending
am:
65cca8f2cc
Change-Id: Id9a32b5f07e3d8bbe175d99acf4127a2612a4de2
Venkata Ramana Rao [Wed, 15 Jun 2016 09:57:12 +0000 (15:27 +0530)]
Use local CCB variable in loop to check GAP CCB pool
CCBs are not being properly cleared due to attempting to clear the wrong
CCB. This is fixed by using a local CCB variable in order to preserve the
CCB being freed.
Test: Send multiple files over OPP
Change-Id: I06a8f237047ffb212118b4239e9856fe5c89acb1
Manu Viswanadhan [Tue, 7 Jun 2016 10:51:18 +0000 (16:21 +0530)]
Initializing the SDP event message pointer before sending
Use case: Crash while copying SDP results in case of SDP
ServiceSearchAttributeRequest failure
Steps : Repeated connection-disconnection with multiple devices
Failure: Crash while copying SDP results
Root cause: In case of SDP_ServiceSearchAttributeRequest failure,
garbage value sent for discovery result structure due to improper
initialization
Fix: Initialize the discovery result structure to zero before
sending
Test: code compilation.
Change-Id: I46d92d6262bae3b5def5401270465a3a06468c1a
Myles Watson [Thu, 2 Feb 2017 18:47:30 +0000 (18:47 +0000)]
test_vendor: Test fixes for AsyncManager am:
e36d707b00
am:
581cef898c
Change-Id: Id8bf075a9a253f3e5c59aa7784e7dfe9ffebb6eb
Myles Watson [Thu, 2 Feb 2017 18:20:36 +0000 (18:20 +0000)]
test_vendor: Test fixes for AsyncManager
am:
e36d707b00
Change-Id: I33f04f7c75881beee1969d079e757565c5ed0420
Andre Eisenbach [Thu, 2 Feb 2017 18:16:22 +0000 (18:16 +0000)]
Merge changes Ie172ca37,Idf714e51 am:
4bfa6b5205
am:
d90f892495
Change-Id: I5d4b173bce5e72a445c2519fe4b19f5a2aacc7b2
Myles Watson [Thu, 2 Feb 2017 18:16:20 +0000 (18:16 +0000)]
Remove LPM code from the stack am:
d56ef46502
am:
8a1ad734cd
Change-Id: I2c838269ae72b41a8996d7f2e94bf8ca1fbe7eee
Myles Watson [Thu, 2 Feb 2017 18:16:17 +0000 (18:16 +0000)]
btif: Remove platform-specific address logic am:
1c7a152a96
am:
1e94e20ac1
Change-Id: I5cf1d85b7ed2a6c6297a9c7b6cb0a220d22f2fd2
Andre Eisenbach [Thu, 2 Feb 2017 18:16:05 +0000 (18:16 +0000)]
Merge "Initial HIDL conversion" am:
8a8ed27f87
am:
3b3b02798c
Change-Id: I3cf384571c95d55415b6df1a066886d3fb71234f
Andre Eisenbach [Thu, 2 Feb 2017 18:09:32 +0000 (18:09 +0000)]
Merge changes Ie172ca37,Idf714e51
am:
4bfa6b5205
Change-Id: I513824b35ee04268d8b3ec565432b8bb1cb3c736
Myles Watson [Thu, 2 Feb 2017 18:09:31 +0000 (18:09 +0000)]
Remove LPM code from the stack
am:
d56ef46502
Change-Id: I4a3d95d0ed13dff933694adffed018c19e030c5c
Myles Watson [Thu, 2 Feb 2017 18:09:25 +0000 (18:09 +0000)]
btif: Remove platform-specific address logic
am:
1c7a152a96
Change-Id: Ifd695e65d43f5e10d224f17dbabc0eafb3efdc03
Andre Eisenbach [Thu, 2 Feb 2017 18:09:09 +0000 (18:09 +0000)]
Merge "Initial HIDL conversion"
am:
8a8ed27f87
Change-Id: Id6d8440432084b95a1bf0f430b3cb73379ae348d
Myles Watson [Thu, 26 Jan 2017 23:09:38 +0000 (15:09 -0800)]
test_vendor: Test fixes for AsyncManager
Test: unit tests pass
Change-Id: I5c3f9f4a1fa86e97fa9e6cc26160fd1e3e854925
Andre Eisenbach [Thu, 2 Feb 2017 18:00:58 +0000 (18:00 +0000)]
Merge changes Ie172ca37,Idf714e51
* changes:
Remove LPM code from the stack
btif: Remove platform-specific address logic
Andre Eisenbach [Thu, 2 Feb 2017 18:00:29 +0000 (18:00 +0000)]
Merge "Initial HIDL conversion"
Ajay Kumar [Thu, 2 Feb 2017 01:59:34 +0000 (01:59 +0000)]
Handled invalid MTU Size in L2cap Process Commands am:
633a5bc320
am:
7890228ae8
Change-Id: Ib65285ffcffb2247c54d866154c40592038f2718
Ajay Kumar [Thu, 2 Feb 2017 01:57:05 +0000 (01:57 +0000)]
Handled invalid MTU Size in L2cap Process Commands
am:
633a5bc320
Change-Id: I8d6b1d76cb8ff644fbb9cbfff987e3f80bb04522
Myles Watson [Mon, 12 Sep 2016 21:39:58 +0000 (14:39 -0700)]
Remove LPM code from the stack
Power management is handled in hardware/interfaces/bluetooth/.
Test: mma -j32
Change-Id: Ie172ca37059768a2cfa0d4b84f34b54624b1fa49
Myles Watson [Wed, 21 Dec 2016 23:27:01 +0000 (15:27 -0800)]
btif: Remove platform-specific address logic
This functionality has moved to hardware/interfaces/bluetooth/
Test: Boot and check the address.
Change-Id: Idf714e514314c10dc1659f024ab4cc8570f292b7
Andre Eisenbach [Fri, 11 Nov 2016 00:11:00 +0000 (16:11 -0800)]
Initial HIDL conversion
Test: Unit tests, VTS test, device sanity
Change-Id: Ia5b2b5fa762d240c0490666d50ea5c878631fcd1
Ajay Kumar [Wed, 12 Mar 2014 13:59:27 +0000 (19:29 +0530)]
Handled invalid MTU Size in L2cap Process Commands
Use case: Execute the L2CAP test suite on Codenomicon tool
(1)From tool Codenomicon Defensics 11 menu Utilities > Bluetooth Scan,
paired Bluetooth between pc and phone.
(2)From Defensics 11 Settings ,choose paired phone Bluetooth to be
Target Bluetooth device address in Basic configuration.
(3)Run the test case " Security - l2cap ".
(4)When run to the number 28, 29 test case,check the phone. BT turn
off and turn on
Failure: BT crash observed due to invalid MTU packets from test tool
Root cause: L2CAP is not validating packets in L2CAP Process Commands
Fix: Fixed by sending reject CMD for invalid commands from tool
Test: code compilation.
Change-Id: I8c503ab77d8fca3728a84c3457d8115e31ee3a13
Pavlin Radoslavov [Wed, 1 Feb 2017 17:21:00 +0000 (17:21 +0000)]
Add memory allocation statistics to the Bluetooth dumpsys output am:
0b4f3f7efb
am:
86b25af22d
Change-Id: Iac2495dd6a87518e8b745cc5710580253cfb8d6c
Pavlin Radoslavov [Wed, 1 Feb 2017 17:18:30 +0000 (17:18 +0000)]
Add memory allocation statistics to the Bluetooth dumpsys output
am:
0b4f3f7efb
Change-Id: I6a06bb516ba11327e32c5ede504a92ae79ab20ea
Pavlin Radoslavov [Wed, 1 Feb 2017 11:55:33 +0000 (03:55 -0800)]
Add memory allocation statistics to the Bluetooth dumpsys output
The following memory allocation statistics are added to
the "dumpsys bluetooth_manager" output.
Those are tracking the allocations that are using the OSI malloc mechanism:
osi_strdup() / osi_strndup() / osi_malloc() / osi_calloc() / osi_free()
Bluetooth Memory Allocation Statistics:
Total allocated/free/used counts : 4063 / 3323 / 740
Total allocated/free/used octets : 922460 / 607941 / 314519
Test: Running "adb shell dumpsys bluetooth_manager"
Change-Id: Ibe1d28ec3a2acfd87cfaa10e5902ef3b596e64a8
Pavlin Radoslavov [Tue, 31 Jan 2017 19:13:24 +0000 (19:13 +0000)]
Update the A2DP Codec Config API am:
494e53e904
am:
0be63749e6
Change-Id: I4497045f9d9202756a2a26228a0f05c1c4aa1f0c
Pavlin Radoslavov [Tue, 31 Jan 2017 19:08:15 +0000 (19:08 +0000)]
Update the A2DP Codec Config API
am:
494e53e904
Change-Id: I02831600027b777d41dc5c1b67ac844fa03e9118
Pavlin Radoslavov [Thu, 26 Jan 2017 01:00:23 +0000 (17:00 -0800)]
Update the A2DP Codec Config API
Previously, the JNI upcall would contain only the current codec config.
In the new API, the upcall contains:
1. The current codec config
2. The list of codecs containing the local codecs capabilities
3. The list of codecs containing the selectable codecs capabilities.
This list is the intersection of the local codecs capabilities
and the capabilities of the paired device.
Also, updated the codec backend to accomodate the above changes:
* Update all selectable codecs inside bta_av_co_audio_set_codec()
* Changed getCodecConfigAndCapabilities() to return current codec
config, local codecs capabilities, and selectable codecs capabilities.
* Updated each codec to compute and store a copy of the selectable
capabilities, and the local capabilities.
* Updated tA2DP_SBC_CIE to include new field bits_per_sample
(for consistency with the rest of the codecs).
* Replaced usage of codec_priority of 0 with BTAV_A2DP_CODEC_PRIORITY_DEFAULT
* If there is user codec (re)config call, we always send an upcall
to inform the Java layer about the most recent codec info.
Thus, the caller would always know whether the request succeeded or failed.
Test: A2DP streaming with headsets and switching the codecs
Change-Id: Ie7a5cd5c2ab01bb8676032be05bc2ad03baa1e3f
Stephen Li [Fri, 27 Jan 2017 07:37:43 +0000 (07:37 +0000)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into am:
665bcf8f2d
am:
c28c4325d2
Change-Id: Ib4b641b82598b01ce6f6706929b4e95a120ad359
Andre Eisenbach [Fri, 27 Jan 2017 07:34:22 +0000 (07:34 +0000)]
Merge "Remove HC_BUFFER_HDR_T" am:
a6f6077be8
am:
a993bc5266
Change-Id: Id395ad6449a22f6fad413aec292dfeff86bbcb14
Stephen Li [Fri, 27 Jan 2017 01:22:43 +0000 (01:22 +0000)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into
am:
665bcf8f2d
Change-Id: I3a3fc2d0cc9f6681178a5877b127ad55f98be9bc
Andre Eisenbach [Fri, 27 Jan 2017 01:22:32 +0000 (01:22 +0000)]
Merge "Remove HC_BUFFER_HDR_T"
am:
a6f6077be8
Change-Id: I72c589c900c83b6adcd229248dc5b8590a73b64b
Stephen Li [Thu, 26 Jan 2017 23:45:27 +0000 (15:45 -0800)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into
This is because patchset 1 of change 328081 got merged in to the branch
and not patchset 2, despite what gerrit UI says. This is a known error
and is being worked on.
Change-Id: If4f6f3d705e93f03d120c6441e16e9b0afc3d9ca
Treehugger Robot [Thu, 26 Jan 2017 23:22:12 +0000 (23:22 +0000)]
Merge "Remove HC_BUFFER_HDR_T"
Andre Eisenbach [Wed, 25 Jan 2017 17:26:41 +0000 (09:26 -0800)]
Remove HC_BUFFER_HDR_T
Test: compiles
Change-Id: Ia5bf3395bd5a18a27168f05a0a2239a37ddb2c2c
Pavlin Radoslavov [Thu, 26 Jan 2017 19:25:53 +0000 (19:25 +0000)]
Integration of the AAC codec for A2DP source am:
d5f4960b42
am:
2c66cfabaf
Change-Id: Ib6e37d4dace1d3db0b6b170de7b3b2fcc076aef4
Pavlin Radoslavov [Thu, 26 Jan 2017 19:20:31 +0000 (19:20 +0000)]
Integration of the AAC codec for A2DP source
am:
d5f4960b42
Change-Id: I75433922a48fab734ea5d0ee01c93d3a44cde8d8
Pavlin Radoslavov [Wed, 4 Jan 2017 00:53:18 +0000 (16:53 -0800)]
Integration of the AAC codec for A2DP source
Also:
- Implemented data fragmentation inside bta_av_data_path()
that is RTP compatible.
- Do not use the codec_type when composing the RTP payload type
per RFC 3016, Section 4.2. That value doesn't have actual meaning
in the context of the Bluetooth supported codecs, and is ambiguous:
all vendor codecs map to the same value 0xFF.
- Updated support function A2DP_BitsSet() so it works for
up to 64-bit integers.
- Updated a log message inside l2c_data_write() to print
packet length and peer MTU on error.
Test: A2DP streaming to AAC headsets
Bug:
30958229
Change-Id: I1b530f1c5c495b8231fd68bed788d4567096683d
Srinu Jella [Wed, 25 Jan 2017 20:06:46 +0000 (20:06 +0000)]
Merge "Update UUIDs immediately on NVRAM" am:
87cf1322fc
am:
6b46114f5a
Change-Id: Ie8b3c383f711e3a402c531a9a98ee8eb852c6c91
Srinu Jella [Wed, 25 Jan 2017 20:02:15 +0000 (20:02 +0000)]
Merge "Update UUIDs immediately on NVRAM"
am:
87cf1322fc
Change-Id: I7d302edf5c42ceb90f3e1692e243410063218636
Treehugger Robot [Wed, 25 Jan 2017 19:55:59 +0000 (19:55 +0000)]
Merge "Update UUIDs immediately on NVRAM"
Jack He [Wed, 25 Jan 2017 19:33:12 +0000 (19:33 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics" am:
df1668926d
am:
f85d231647
Change-Id: Ie42f410cc3c1df184f20b78d84f0a634c374facb
Jack He [Wed, 25 Jan 2017 19:30:42 +0000 (19:30 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics"
am:
df1668926d
Change-Id: Ibeca5167e014e7ef51da639bcc12d3b2d89ec9b9
Treehugger Robot [Wed, 25 Jan 2017 19:28:02 +0000 (19:28 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics"
Srinu Jella [Mon, 21 Nov 2016 12:56:58 +0000 (18:26 +0530)]
Update UUIDs immediately on NVRAM
As the BTIF config updation have delay in writing items
to the NVRAM, some times there is a chance of not updating
incase of battery removal happens before the actual write onto
NVRAM.
As SDP UUIDs is important data to store, it will update
immediately onto NVRAM.
Test: manual
Change-Id: I6637dc326f3a53211a5bbf988a2dca1020203128
Andre Eisenbach [Wed, 25 Jan 2017 17:26:41 +0000 (09:26 -0800)]
Remove HC_BUFFER_HDR_T
Test: compiles
Change-Id: Ia5bf3395bd5a18a27168f05a0a2239a37ddb2c2c
Ivan Podogov [Wed, 25 Jan 2017 00:14:24 +0000 (00:14 +0000)]
HID: Fix forced disconnection flow. am:
367373ba8b
am:
d6cff48023
Change-Id: I9171655b4cfe05e4395d2381461316bd05824a1e
Ivan Podogov [Wed, 25 Jan 2017 00:12:23 +0000 (00:12 +0000)]
HID: Fix forced disconnection flow.
am:
367373ba8b
Change-Id: Ia72cfb5979735bdb2b091291719ac895331bba7e
Ivan Podogov [Thu, 19 Jan 2017 17:19:37 +0000 (17:19 +0000)]
HID: Fix forced disconnection flow.
In some cases, we end up in a state where we can neither
connect nor forcefully end connection, and will require disabling
the Bluetooth adapter to fix this state.
When a device is taking too long to connect (or out of range),
the user may want to cancel the connection by calling disconnect
method, which will be ignored in any state other than
BTA_HD_CONN_ST. It is a lot better to immediately cease the
connection process at this point, so:
- BTA_HD_API_DISCONNECT_EVT is now not ignored in BTA_HD_IDLE_ST;
- bta_hd_disconnect_act now reports a correct MAC address during
disconnection (it used to send 00:00:00:00:00:00 before);
- HidDevDisconnect now allows to forcefully end the connection,
and does it in exactly the same way we handle the errors.
When L2CAP connection fails, both hidd_l2cif_config_ind and
hidd_l2cif_config_cfm set conn_state to HID_CONN_STATE_UNUSED,
which is immediately overwritten by the hidd_conn_disconnect call
(it will set conn_state to HID_CONN_STATE_DISCONNECTING, because
ctrl_cid != 0 in both cases), thus making any subsequent calls to
connect failing with "already connecting" error. More than that,
all functions send the HID_DHOST_EVT_CLOSE event when failing,
which is, again, ignored in the BTA_HD_IDLE_ST state. So:
- BTA_HD_INT_CLOSE_EVT is now not ignored in BTA_HD_IDLE_ST;
- conn_state is set to HID_CONN_STATE_UNUSED after the call to
hidd_conn_disconnect, but before sending the close event.
Test: Build, run, connect/disconnect multiple times.
Change-Id: I85bb03f760bb9a6fd4c1b944d515232c1be12300
Jack He [Fri, 20 Jan 2017 19:17:44 +0000 (11:17 -0800)]
Corrected default value assignments in Bluetooth A2DP Metrics
* In certain cases btif_a2dp_source_stop_audio_req() could be called before
btif_a2dp_source_start_audio_req() is called, resulting in session_start_us
to be 0. In this case, audio_duration_ms = time_get_os_boottime_us() - 0
will be a very large number that is not the actual audio duration. This
CL marks audio_duration_ms as -1 in the above situation so that we can
differentiate between valid and invalid audio durations
* Set default timer and counter values to 0 when
tx_queue_dequeue_stats.total_updates > 1
* Move update_scheduling_stats for tx_queue_enqueue_stats to
btif_a2dp_source_audio_handle_timer as we intend to capture the time
intervals for enqueue scheduling instead of time intervals between
frame enqueue (i.e. one scheduling event can enqueue multiple frames)
* Use tx_queue_enqueue_stats for metrics instead of *dequeue* since only
enqueue is triggered by timer event
Bug:
33694310
Test: Code compilation, BtFunhausMetricsTest
Change-Id: I10984920afd4d77f07a5ac75736f8dcd69b13af8
(cherry picked from commit
5a9925784a4a34811ae29608b67dee4a580c226b)