OSDN Git Service
Andrei Emeltchenko [Thu, 17 Apr 2014 12:23:47 +0000 (15:23 +0300)]
android/hal-audio: Make code readable
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:33 +0000 (01:10 +0200)]
android/ipc: Add common definitions for GATT IPC structures
Since GATT IPC uses common structures for services, characteristics and
descriptors in many messages there's no need to describe each structure
in each call separately. They can be replaced with common definition.
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:32 +0000 (01:10 +0200)]
android/gatt: Add IPC message verification for service_search
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:31 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for write_characteristic
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:30 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for read_characteristic
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:29 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for get_descriptor
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:28 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for get_characteristic
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:27 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for get_included_service
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:10:26 +0000 (01:10 +0200)]
android/hal-gatt-api: Fix IPC definition for service_search
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:38 +0000 (01:50 +0200)]
android/hal-audio: Adjust audio quality automatically
In case we go out of sync with audio clock and start skipping data to
catch up, we also decrease audio quality to have better chance to avoid
going out of sync in future, i.e. due to poor radio link quality.
Quality is reset to default value on stream resume.
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:37 +0000 (01:50 +0200)]
android/hal-audio: Add support to control audio quality
This patch adds new codec abstraction call which can be used to adjust
audio quality while playing. As for now we can either decrease quality
or restore default one.
It's up to actual codec capabilities and implementation how this can be
handled. In case of SBC bitpool is decreased by fixed amount (5) until
min allowable value is reached (33) - the same values are used in
PulseAudio.
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:36 +0000 (01:50 +0200)]
android/hal-audio: Resync audio when lagging too much
In case we're more than 100ms behind actual audio clock, we start to
skip writing data until we're back in sync. Delay value of 100ms is
what PulseAudio use for the same purpose.
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:35 +0000 (01:50 +0200)]
android/hal-audio: Make audio socket non-blocking
This patch makes writing to audio socket non-blocking since there's no
point in waiting indefinitely to write some data. Instead, we wait no
more than 500ms for socket to be ready and just skip packet otherwise.
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:34 +0000 (01:50 +0200)]
android/hal-audio: Add resume_endpoint helper
Andrzej Kaczmarek [Wed, 16 Apr 2014 23:50:33 +0000 (01:50 +0200)]
android/a2dp: Prefer master role on incoming connections
Marcel Holtmann [Thu, 17 Apr 2014 02:48:29 +0000 (19:48 -0700)]
tools: Remove permission check from hcidump utility
Lukasz Rymanowski [Tue, 15 Apr 2014 08:16:10 +0000 (10:16 +0200)]
android/gatt: Add support for client listen command
This patch adds support for gatt client listen which start/stop
advertising
Lukasz Rymanowski [Mon, 14 Apr 2014 20:53:06 +0000 (22:53 +0200)]
android/bluetooth: Expose API to set advertising
With this patch android GAP expose start/stop advertising API
Jakub Tyszkowski [Mon, 14 Apr 2014 10:39:51 +0000 (12:39 +0200)]
android/gatt: Minor whitespace fixes
Jakub Tyszkowski [Mon, 14 Apr 2014 10:39:50 +0000 (12:39 +0200)]
android/gatt: Fix caching included services descriptors
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:19 +0000 (15:15 +0200)]
android/gatt: Add Server's delete_service stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:18 +0000 (15:15 +0200)]
android/gatt: Add Server's stop_service stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:17 +0000 (15:15 +0200)]
android/gatt: Add Server's start_service stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:16 +0000 (15:15 +0200)]
android/gatt: Add Server's add_descriptor stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:15 +0000 (15:15 +0200)]
android/gatt: Add Server's add_characteristic stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:14 +0000 (15:15 +0200)]
android/gatt: Add Server's add_included_service stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:13 +0000 (15:15 +0200)]
android/gatt: Add Server's add_service stub
Jakub Tyszkowski [Fri, 11 Apr 2014 13:15:12 +0000 (15:15 +0200)]
android/gatt: Add find_server_by_id helper
This adds helper function analogously to find_client_by_id.
Szymon Janc [Tue, 15 Apr 2014 11:30:53 +0000 (13:30 +0200)]
tools/hciattach: Fix missing includes
According to writev manual one should include <sys/uio.h> to use it.
This fix following warnings with bionic:
external/bluetooth/bluez/tools/hciattach_tialt.c: In function
'texas_load_firmware':
external/bluetooth/bluez/tools/hciattach_tialt.c:142:4: warning:
implicit declaration of function 'writev'
[-Wimplicit-function-declaration]
target thumb C: hciattach <= external/bluetooth/bluez/tools/
hciattach_ath3k.c
target thumb C: hciattach <= external/bluetooth/bluez/tools/
hciattach_qualcomm.c
external/bluetooth/bluez/tools/hciattach_qualcomm.c: In function
'qualcomm_load_firmware':
external/bluetooth/bluez/tools/hciattach_qualcomm.c:147:4: warning:
implicit declaration of function 'writev'
[-Wimplicit-function-declaration]
Luiz Augusto von Dentz [Tue, 15 Apr 2014 12:18:01 +0000 (15:18 +0300)]
android/avrcp-lib: Fix NULL pointer dereference
In case parse_pdu fails it returns NULL so pdu must be set with operands
even though it contain an invalid PDU its buffer can be used.
Luiz Augusto von Dentz [Tue, 15 Apr 2014 08:35:46 +0000 (11:35 +0300)]
android/avrcp-lib: Make avrcp_control_handler internal
This is no longer needed in the by the public API.
Luiz Augusto von Dentz [Fri, 11 Apr 2014 07:31:58 +0000 (10:31 +0300)]
android/avctp: Make avctp_send_vendor to take struct iovec
This makes it possible to pass data without copying.
Luiz Augusto von Dentz [Tue, 8 Apr 2014 13:23:38 +0000 (16:23 +0300)]
android/avctp: Make avctp_send_vendor_req to take struct iovec
This makes it possible to pass data without copying.
Luiz Augusto von Dentz [Mon, 7 Apr 2014 14:34:11 +0000 (17:34 +0300)]
android/avctp: Make avctp_send_browsing_req to take struct iovec
This makes it possible to pass data without copying.
Luiz Augusto von Dentz [Thu, 3 Apr 2014 14:38:37 +0000 (17:38 +0300)]
android/avrcp-lib: Make avrcp_send_req to take struct iovec
This makes it possible to pass data without copying.
Luiz Augusto von Dentz [Thu, 3 Apr 2014 10:56:30 +0000 (13:56 +0300)]
android/avrcp-lib: Add checks in avrcp_get_item_attributes
This adds checks for number of attributes is within the valid range and
if the data pointer is valid.
Luiz Augusto von Dentz [Thu, 3 Apr 2014 10:15:16 +0000 (13:15 +0300)]
android/avrcp-lib: Make avrcp_send_browsing_req to take struct iovec
This makes it possible to pass data without copying.
Lukasz Rymanowski [Sat, 12 Apr 2014 22:00:28 +0000 (00:00 +0200)]
android/gatt: Daemon accepts only default write type
With this patch daemon accepts only default write type. For other types
it correctly replies with HAL_STATUS_UNSUPPORTED
Szymon Janc [Mon, 14 Apr 2014 14:08:54 +0000 (16:08 +0200)]
android/hal-msg: Add defines for GATT write types
Szymon Janc [Mon, 14 Apr 2014 14:12:28 +0000 (16:12 +0200)]
android/hal-ipc-api: Add valid write types for GATT
Lukasz Rymanowski [Sat, 12 Apr 2014 22:00:27 +0000 (00:00 +0200)]
android/gatt: Fix error msg
Lukasz Rymanowski [Sat, 12 Apr 2014 22:00:26 +0000 (00:00 +0200)]
android/gatt: Add helper to create characteristic op data
This patch adds helper to create data needed for read/write
characteristic
Lukasz Rymanowski [Sat, 12 Apr 2014 22:00:25 +0000 (00:00 +0200)]
android/gatt: Avoid double helper struct for read/write characteristic
This patch combine two helper structs for operations on characteristics
to one.
Also use pointers inside this struct instread of raw data.
Lukasz Rymanowski [Sat, 12 Apr 2014 22:00:24 +0000 (00:00 +0200)]
android/gatt: Add helper to create descr_data
Lukasz Rymanowski [Mon, 14 Apr 2014 08:58:37 +0000 (10:58 +0200)]
android/client: Add support for client->listen
Sebastian Chlad [Sun, 13 Apr 2014 15:08:22 +0000 (17:08 +0200)]
android/pts: Bump PTS version for GATT
Lukasz Rymanowski [Mon, 14 Apr 2014 08:55:14 +0000 (10:55 +0200)]
android/gatt: Fix memory leak
It happens on daemon exit when connection is up.
295 (104 direct, 191 indirect) bytes in 1 blocks are definitely lost in
loss record 140 of 148
==25132== at 0x4C2B6CD: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==25132== by 0x4E7FBBD: g_try_malloc0 (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==25132== by 0x437BF9: g_attrib_new (gattrib.c:495)
==25132== by 0x42F45F: connect_cb (gatt.c:845)
==25132== by 0x439DBA: connect_cb (btio.c:232)
==25132== by 0x4E79D12: g_main_context_dispatch (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==25132== by 0x4E7A05F: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==25132== by 0x4E7A459: g_main_loop_run (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
==25132== by 0x4044FD: main (main.c:531)
This patch moves function connection_cleanup up in the file as this is
needed by destroy_device
Szymon Janc [Fri, 11 Apr 2014 09:20:46 +0000 (11:20 +0200)]
android/pts: Update PICS, PIXIT and tests for GAP
This updates settings to PTS 5.1 and adjust PICS to enable some
supported features.
Szymon Janc [Fri, 11 Apr 2014 07:41:27 +0000 (09:41 +0200)]
android/tester: Device properties can come in any order
There is no point in forcing specific order of device properties.
Szymon Janc [Fri, 11 Apr 2014 07:41:26 +0000 (09:41 +0200)]
android/tester: Adapter properties can come in any order
There is no point in forcing specific order of adapter properties (with
exception of address being first).
Szymon Janc [Fri, 11 Apr 2014 07:41:25 +0000 (09:41 +0200)]
android/bluetooth: Remove debug log from create_device_from_info
create_device_from_info always calls create_device which already prints
created device address.
Szymon Janc [Fri, 11 Apr 2014 07:41:24 +0000 (09:41 +0200)]
android/bluetooth: Send device properties in single notification
This reduces number of IPC calls while enabling Bluetooth.
Szymon Janc [Fri, 11 Apr 2014 07:41:23 +0000 (09:41 +0200)]
android/bluetooth: Send adapter properties in single notification
This reduces number of IPC calls while enabling Bluetooth.
Szymon Janc [Fri, 11 Apr 2014 07:41:22 +0000 (09:41 +0200)]
android/bluetooth: Fix passing NULL pointer to memcpy
It is possible to have property with empty value (ie. bonded devices)
so check len before calling memcpy.
Lukasz Rymanowski [Fri, 11 Apr 2014 14:37:09 +0000 (16:37 +0200)]
android/gatt: Cleanup device lists
With this patch, devices from conn_list and conn_wait_queue which are
without a client e.g. because client has unregister without any
cleaning, are move to the disconnected device queue.
Also connected device without clients are disconnected.
And if there is no dev waiting for connect we do stop scan.
Lukasz Rymanowski [Fri, 11 Apr 2014 14:37:08 +0000 (16:37 +0200)]
android/gatt: Move functions up in the file
Move send_client_disconnect_notify connection_cleanup and
put_device_on_disc_list up in the file
This is needed by following patch
Lukasz Rymanowski [Fri, 11 Apr 2014 14:37:07 +0000 (16:37 +0200)]
android/gatt: Fix handling client unregister
When client do unregister we need to make sure that there is no
connected device or outstanding connection request for this client.
Lukasz Rymanowski [Fri, 11 Apr 2014 14:37:06 +0000 (16:37 +0200)]
android/gatt: Refactor send_client_connect_notify
Create helper function to send connect notification, similar to the
send_client_disconnect_notify
Marcel Holtmann [Sat, 12 Apr 2014 18:06:02 +0000 (11:06 -0700)]
Release 5.18
Marcel Holtmann [Sat, 12 Apr 2014 18:04:55 +0000 (11:04 -0700)]
doc: Update test coverage numbers
Marcel Holtmann [Sat, 12 Apr 2014 17:31:10 +0000 (10:31 -0700)]
lib: Update company identifiers
Jakub Tyszkowski [Fri, 11 Apr 2014 12:40:26 +0000 (14:40 +0200)]
android/client: Fix parameter completion for gatt
This fixes missing service handle in parameters completion for gatt
server add_descriptor method.
Jakub Tyszkowski [Fri, 11 Apr 2014 12:40:25 +0000 (14:40 +0200)]
android/gatt: Set proper primary flag for sending characteristics
Fix sending included service's characteristics.
Grzegorz Kolodziejczyk [Fri, 11 Apr 2014 10:29:48 +0000 (12:29 +0200)]
android/gatt: Remove not needed empty line and redundand tab
Lukasz Rymanowski [Fri, 11 Apr 2014 09:24:58 +0000 (11:24 +0200)]
android/gatt: Fix for scan non discoverable devices
With this patch Android framework will not be notified with
non-discoverable LE devices.
Marcin Kraglak [Thu, 10 Apr 2014 18:40:38 +0000 (20:40 +0200)]
android/gatt: Remove double variable check
Marcin Kraglak [Thu, 10 Apr 2014 18:40:37 +0000 (20:40 +0200)]
android/gatt: Format string with address properly
Marcin Kraglak [Thu, 10 Apr 2014 18:40:36 +0000 (20:40 +0200)]
android/gatt: Simplify removing device from list
Marcin Kraglak [Thu, 10 Apr 2014 18:40:35 +0000 (20:40 +0200)]
android/gatt: Remove unneeded label from unregister_client
Jakub Tyszkowski [Thu, 10 Apr 2014 14:34:54 +0000 (16:34 +0200)]
android/gatt: Add cache check in Clients caching callbacks
As we were only checking in API call functions if cache exist and not
in asynchronous callbacks, it was possible to schedule multiple
discovery sessions before cache was filled with data. This resulted in
adding duplicate entries, when all scheduled discovery sessions started
to cache data.
Jakub Tyszkowski [Thu, 10 Apr 2014 14:34:53 +0000 (16:34 +0200)]
android/gatt: Add Client's refresh function call
This adds clearing remote devices cache (services, characteristics and
descriptors).
Jakub Tyszkowski [Thu, 10 Apr 2014 14:34:52 +0000 (16:34 +0200)]
android/gatt: Fix sending device to (dis)connect callback
This fixes casting void* at wrong structure. We pass device, not bdaddr
as user data.
Jakub Tyszkowski [Thu, 10 Apr 2014 14:34:51 +0000 (16:34 +0200)]
android/gatt: Trivial whitespace fixes
Lukasz Rymanowski [Thu, 10 Apr 2014 15:30:05 +0000 (17:30 +0200)]
android/gatt: Fix type of status parameter
Szymon Janc [Thu, 10 Apr 2014 14:10:08 +0000 (16:10 +0200)]
android/hal-ipc: Increase bluetoothd connect timeout
Current timeout is not enough when running bluetoothd under valgrind.
Szymon Janc [Thu, 10 Apr 2014 13:40:39 +0000 (15:40 +0200)]
android/bluetoothd-wrapper: Pass --track-origin=yes to valgrind
Luiz Augusto von Dentz [Thu, 10 Apr 2014 12:17:09 +0000 (15:17 +0300)]
android/hal-gatt: Fix sending uninitialised byte
This fixes sending uninitialised byte on init:
Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s)
at 0x534ADDD: ??? (in /usr/lib64/libpthread-2.18.so)
by 0x6B5628C: hal_ipc_cmd (hal-ipc.c:357)
by 0x6B54F6D: init (hal-gatt.c:1268)
by 0x4092DB: init_p (if-gatt.c:779)
by 0x401CCD: main (haltest.c:413)
Address 0xffefffda1 is on thread 1's stack
Uninitialised value was created by a stack allocation
at 0x6B54EC0: init (hal-gatt.c:1252)
Luiz Augusto von Dentz [Thu, 10 Apr 2014 12:17:08 +0000 (15:17 +0300)]
android/system-emulator: Pass --track-origin=yes to valgrind
This adds --track-origin=yes option:
"Controls whether Memcheck tracks the origin of uninitialised values.
By default, it does not, which means that although it can tell you
that an uninitialised value is being used in a dangerous way, it
cannot tell you where the uninitialised value came from. This often
makes it difficult to track down the root problem."
Szymon Janc [Mon, 7 Apr 2014 08:52:36 +0000 (10:52 +0200)]
android/README: Add information about not implemented AVRCP features
Grzegorz Kolodziejczyk [Mon, 7 Apr 2014 12:05:19 +0000 (14:05 +0200)]
android/gatt: Fix sending notification for register gatt client
This patch adds missing send notification in case of errors for gatt
client registration. In case of error status GATT_FAILURE with given in
cmd UUID is send in notification.
Marcin Kraglak [Wed, 9 Apr 2014 09:22:40 +0000 (11:22 +0200)]
android/gatt: Fix not sending confirmation while receiving indication
Send confirmation after receiving indication.
Sebastian Chlad [Thu, 10 Apr 2014 09:07:12 +0000 (11:07 +0200)]
android/pts: Bump PTS version for HFP
Re-checking PIXITs and PICS for HFP on PTS 5.1.
Sebastian Chlad [Thu, 10 Apr 2014 09:02:33 +0000 (11:02 +0200)]
android/pts: Re-test HSP against PTS 5.1
Sebastian Chlad [Thu, 10 Apr 2014 09:02:32 +0000 (11:02 +0200)]
android/pts: Bump PTS version for HSP
Rechecking of PICS and PIXITs for HSP on PTS 5.1.
Marcin Kraglak [Thu, 10 Apr 2014 06:29:58 +0000 (08:29 +0200)]
android/gatt: Fix incorrect event status
Return proper gatt_status in register_for_notification event.
Sebastian Chlad [Thu, 10 Apr 2014 07:59:27 +0000 (09:59 +0200)]
android/pts: Re-test PBAP against PTS 5.1
Sebastian Chlad [Thu, 10 Apr 2014 07:59:26 +0000 (09:59 +0200)]
android/pts: Bump PTS version for PBAP
Sebastian Chlad [Thu, 10 Apr 2014 07:59:25 +0000 (09:59 +0200)]
android/pts: Re-run PAN tests on PTS 5.1
Sebastian Chlad [Thu, 10 Apr 2014 07:59:24 +0000 (09:59 +0200)]
android/pts: Bump PTS version for PAN
Szymon Janc [Tue, 25 Mar 2014 11:35:30 +0000 (12:35 +0100)]
android/gatt: Add support for fake read RSSI
This will ease testing until kernel support is added.
Marcin Kraglak [Wed, 9 Apr 2014 09:26:53 +0000 (11:26 +0200)]
android/hal-gatt: Fix typo in struct name
It causes ipc error due to incorrect message length.
Szymon Janc [Tue, 8 Apr 2014 12:22:27 +0000 (14:22 +0200)]
android/hidhost: Fix hex string to buffer convertion
Due to missing limit specifier buffer was always filled with last hex
value in string.
Sebastian Chlad [Mon, 7 Apr 2014 15:53:54 +0000 (17:53 +0200)]
android/pts: Re-test MAP against PTS 5.1
Sebastian Chlad [Mon, 7 Apr 2014 15:28:43 +0000 (17:28 +0200)]
android/pts: Re-test HID against PTS 5.1
Sebastian Chlad [Mon, 7 Apr 2014 15:28:42 +0000 (17:28 +0200)]
android/pts: Bump PTS version for HID
Sebastian Chlad [Mon, 7 Apr 2014 14:45:56 +0000 (16:45 +0200)]
android/pts: PTS tests results for AVCTP
Re-test against PTS 5.1 as well as adding test for CT role.
Sebastian Chlad [Mon, 7 Apr 2014 14:45:55 +0000 (16:45 +0200)]
android/pts: Update PICS and PIXITs for AVCTP
Bumping version of PTS to 5.1 as well as adding the CT role. Since
both roles are enabled for AVRCP, AVCTP should follow the suit.
Sebastian Chlad [Mon, 7 Apr 2014 13:16:17 +0000 (15:16 +0200)]
android/pts: Re-test A2DP against PTS 5.1
Sebastian Chlad [Mon, 7 Apr 2014 13:16:16 +0000 (15:16 +0200)]
android/pts: Bump PTS version for A2DP
Luiz Augusto von Dentz [Wed, 9 Apr 2014 10:54:17 +0000 (13:54 +0300)]
gobex: Fix asserting one more time
This fixes a regression caused by
35938b779dc8d2498e66e6a6483a36c1f99c2e19
where the current pending_req is set to NULL while processing the
response but cause the request to timeout since it is no longer removed
properly.