| 3e7ecc43 |
Unregister Health Thermometer Interface |
Santiago Carot-Nemesio |
14 years ago |
1 file, +22, -1 |
| f3243066 |
Register Health Thermometer Interface |
Santiago Carot-Nemesio |
14 years ago |
1 file, +109, -1 |
| d9ef9b74 |
Get thermometer service range to load the driver. |
Santiago Carot-Nemesio |
14 years ago |
3 files, +19, -3 |
| 6ecbffae |
hcitool: Fix EIR parsing
There were missing buffer size checks and wrong assumptions about the
EIR data length (core spec 4.0 defines it to be max 31 bytes, so the
name can be max 29 bytes). |
Johan Hedberg |
14 years ago |
1 file, +27, -19 |
| 9122bd7e |
Fix leaks and buffer overflows in EIR parsing
By calling g_utf8_validate and allocating eir->name inside the parsing
loop the code was exposing itself to buffer overflows and memory leaks.
This is because the check for incorrect length fields is only done after
exiting the loop (if (len > HCI_MAX_EIR_LENGTH)). By only setting a
pointer to the name and doing the processing after checking the length
validity both issues can be avoided. |
Johan Hedberg |
14 years ago |
1 file, +11, -6 |
| 402398c7 |
Add support for parsing the remote name during LE Scan |
Vinicius Costa Gomes |
14 years ago |
1 file, +53, -1 |
| 239a0f68 |
Make title always available in metadata |
Lucas De Marchi |
14 years ago |
1 file, +7, -3 |
| cd25bc2b |
Don't overwrite metadata when changing track
If we use the same hash table to set the new metadata, we have 2
undesired behaviors:
1) New track may contain fields from previous track if it didn't set all
the fields
2) If we fail on parsing the signal, we will still change some of the
fields |
Lucas De Marchi |
14 years ago |
2 files, +34, -14 |
| 9a4a6fad |
Fix +CLCC in maemo6 during CSD_CALL_STATUS_COMING
This fixes the same issue as in 8a6119ea1c685fc61419ee444a5967596f524c1c
but for CSD_CALL_STATUS_COMING. Call status change sequence in csd is
IDLE to COMING, COMING to PROCEEDING, and PROCEEDING to WAITING.
Returned 'state of the call' value after CSD_CALL_STATUS_COMING, as well
as after CSD_CALL_STATUS_PROCEEDING, in +CLCC shall be 5 (waiting, MT
call) instead of 4 (incoming, MT call) in maemo6 telephony driver for the
second incoming call. |
Dmitriy Paliy |
14 years ago |
1 file, +3, -0 |
| d0ed4542 |
Fix crash on power off in maemo6 after sending DTMF
This fixes regression introduced in
b48e610314fb466035b198f594c5b6a68126fcf1. Crash happens when powering
off adapter after sending DTMF tone. |
Dmitriy Paliy |
14 years ago |
1 file, +1, -1 |
| 3ab3eab5 |
Improve test/simple-player to allow user interaction
Allow user to trigger TrackChanged and PropertyChanged. Calls made by
remote side (coming from D-Bus) are printed to stderr while the ones to
interact with user go to stdout. |
Lucas De Marchi |
14 years ago |
1 file, +67, -4 |
| a2a2db81 |
Refactor to share code
Refactor code when we are 'listing selected attributes' to share code
with 'listing all attributes'. This way we always keep the list of
attributes in a GList, and call player_get_media_attribute() in only one
place. |
Lucas De Marchi |
14 years ago |
1 file, +22, -33 |
| c8265ec2 |
AVRCP: Only return available metadata attributes
When remote side requests all available metadata (i.e. it gives number
attributes equals to 0) do not return zero-length strings for
unavailable items. The only exception is title, that must be always present. |
Lucas De Marchi |
14 years ago |
1 file, +9, -3 |
| 7cddeb37 |
AVRCP: Check if len matches number of IDs
If number of attributes remote side provided is larger than the length
we read, we would read garbage from stack memory. |
Lucas De Marchi |
14 years ago |
1 file, +6, -2 |
| 28b30577 |
AVRCP: Return error for invalid metadata IDs |
Lucas De Marchi |
14 years ago |
1 file, +4, -2 |
| c6843891 |
Add callback to list available metadata IDs |
Lucas De Marchi |
14 years ago |
2 files, +14, -0 |
| c0cc1049 |
AVRCP: Do not list values for unsupported attributes |
Lucas De Marchi |
14 years ago |
1 file, +3, -4 |
| 2932dbee |
Move debug messages to their correspondent getters |
Lucas De Marchi |
14 years ago |
1 file, +10, -9 |
| aac1ff80 |
Fix typo on doc |
Lucas De Marchi |
14 years ago |
1 file, +1, -1 |
| 6eba2448 |
Add mpris-player to .gitignore |
Lucas De Marchi |
14 years ago |
1 file, +1, -0 |
| 3dab5931 |
Add Szymon Janc to AUTHORS |
Johan Hedberg |
14 years ago |
1 file, +1, -0 |
| cd74b349 |
Add Lucas De Marchi to AUTHORS |
Johan Hedberg |
14 years ago |
1 file, +1, -0 |
| 40a176e7 |
Remove leftover code of primary service storage
Primary services related to a given address is already being removed
in delete_device_service() function. |
Claudio Takahasi |
14 years ago |
1 file, +0, -1 |
| bea3b793 |
Remove leftover code of device type storage |
Claudio Takahasi |
14 years ago |
1 file, +0, -1 |
| 32713348 |
Update control documentation to reflect the implementation
Many of the methods and signal don't make much sense since we now have
a dedicated interfaces that are Media and MediaPlayer. |
Luiz Augusto von Dentz |
14 years ago |
1 file, +5, -56 |
| c2a74289 |
Fix call status in +CLCC for maemo6 telephony
If list current calls is requested when there is second incoming call
and csd call status is CSD_CALL_STATUS_PROCEEDING, then returned 'state
of the call' value in +CLCC is 4 (incoming, MT call), which is incorrect.
Indication than proceeds from incoming to waiting state.
This patch sets the corresponding value to 5 (waiting, MT call) in
maemo6 telephony driver for the second call. |
Dmitriy Paliy |
14 years ago |
1 file, +10, -2 |
| e3483626 |
Fix compilation error on 32-bit systems
This fixes the following compilation error with GLib on 32-bit sytems:
audio/media.c: In function 'get_setting':
audio/media.c:1109:44: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
audio/media.c: In function 'set_setting':
audio/media.c:1132:41: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] |
Johan Hedberg |
14 years ago |
1 file, +4, -2 |
| 291e838c |
Add mpris-player to test
It gather information from players implementing mpris spec and convert
to org.bluez.MediaPlayer spec. |
Luiz Augusto von Dentz |
14 years ago |
2 files, +962, -1 |
| 6c85d28c |
Add support for cancelling a LE Scan with Control-C |
Vinicius Costa Gomes |
14 years ago |
1 file, +21, -4 |
| 253f8a7c |
Fix using the attribute struct for encoding ATT pdus
The enconding and decoding of ATT pdus should be kept as much
free of dependences from other parts of the code as possible, so
it can be used in many contexts.
In this case, for encoding and decoding notifications and indications
we did have to pass an instance of an attribute instead of direct
values. |
Vinicius Costa Gomes |
14 years ago |
3 files, +35, -25 |
| 911f1b1b |
Fix crash while registering player
Crash is caused by not removed freed player from the list:
Invalid read of size 8
at 0x13E7B5: media_adapter_find_player (media.c:861)
by 0x13FEBC: register_player (media.c:1561)
by 0x120DFE: process_message (object.c:224)
by 0x4F6E9A0: ??? (in /lib64/libdbus-1.so.3.5.6)
by 0x4F6092F: dbus_connection_dispatch (in /lib64/libdbus-1.so.3.5.6)
by 0x11F787: message_dispatch (mainloop.c:80)
by 0x4C762CA: ??? (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C74ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C752D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C75824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
by 0x11EE4B: main (main.c:485)
Address 0x642ef30 is 16 bytes inside a block of size 80 free'd
at 0x4A0662E: free (vg_replace_malloc.c:366)
by 0x4C7B7F2: g_free (in /lib64/libglib-2.0.so.0.3000.0)
by 0x12D292: player_destroy (avrcp.c:1099)
by 0x120C38: service_filter (watch.c:477)
by 0x120950: message_filter (watch.c:527)
by 0x4F608E5: dbus_connection_dispatch (in /lib64/libdbus-1.so.3.5.6)
by 0x11F787: message_dispatch (mainloop.c:80)
by 0x4C762CA: ??? (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C74ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C752D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4C75824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
by 0x11EE4B: main (main.c:485) |
Luiz Augusto von Dentz |
14 years ago |
1 file, +3, -0 |
| 9cf1a84e |
Fix not being able to unregister player via UnregisterPlayer |
Luiz Augusto von Dentz |
14 years ago |
1 file, +1, -1 |
| c7f32491 |
AVRCP: do not allow CT to set a property not supported
If player never set a property, it means it doesn't support it. Doesn't
allow the remote side to set it and send a REJECTED response. |
Lucas De Marchi |
14 years ago |
1 file, +3, -0 |
| b6379821 |
AVRCP: fix loop over number of application settings |
Lucas De Marchi |
14 years ago |
1 file, +5, -8 |
| 53cc5635 |
Remove test-media-player |
Luiz Augusto von Dentz |
14 years ago |
1 file, +0, -108 |
| 22ff2223 |
Remove MediaPlayer interface from control-api.txt |
Luiz Augusto von Dentz |
14 years ago |
1 file, +0, -47 |
| 6e215f1f |
Add simple-player test script |
Luiz Augusto von Dentz |
14 years ago |
1 file, +56, -0 |
| 14ae3074 |
AVRCP: move MediaPlayer to adapter object
This move the MediaPlayer registration to adapter object on Media
interface so we can track players properly. |
Luiz Augusto von Dentz |
14 years ago |
7 files, +1179, -687 |
| e2746b6f |
Add automatic connect timeout config option
Add new option in main.conf allowing change the default automatic
connection timer. This value defines how many seconds re-connection
for bonded devices will be active when a platform/user event triggers
the automatic re-connections. |
Claudio Takahasi |
14 years ago |
4 files, +20, -2 |
| 691ad351 |
Enable re-connection if reason is Timeout
The re-connection timer must be added just when the disconnection reason
was "Connection timeout" for GATT based profiles. |
Anderson Briglia |
14 years ago |
1 file, +21, -2 |
| 3fe2e7aa |
Add an interval between connection attempts
For connection attempts to the same remote device, add 5 seconds
interval until the next connect attempt. At the moment, the behaviour
depends on if address is found in the advertising kernel cache only.
Passive scanning kernel patches are not upstream yet. LE scanning will
be executed in background during a short period of time until it finds
the address or EHOSTDOWN is returned to the connection attempt. |
Claudio Takahasi |
14 years ago |
1 file, +4, -1 |
| 0ddc54ca |
Set auto connect from maemo6 plugin
Inform the adapter that the system has been unlocked when the MCE
sends the tklock_mode_ind signal. This signal will trigger the
automatic re-connections for the devices selected by the profiles.
Profiles register ATTIO callbacks to indicate that ATT connection
is required. |
Claudio Takahasi |
14 years ago |
1 file, +4, -0 |
| cd907d8c |
Add display lock watcher on maemo6 plugin
Implements display status signal watcher in maemo6 plugin. |
Anderson Briglia |
14 years ago |
1 file, +28, -0 |
| 4d503556 |
Disable automatic connections after 60 seconds |
Claudio Takahasi |
14 years ago |
2 files, +32, -0 |
| d96e090a |
Fix repeated connection attempt to the same remote
Avoids queue dupplicated requests connects for the same device. Sources
can be triggered by auto connect or on demand connection request when a
given profile registers ATTIO connection callbacks. |
Claudio Takahasi |
14 years ago |
1 file, +25, -3 |
| 37965985 |
Add checking if profiles are requesting connection
Before triggering automatic ATTIO connections driven by platform event,
the device needs to check if there is at least one entry in the ATTIO
connection callback, meaning that there is profile requesting connection
and the state is auto connection. |
Claudio Takahasi |
14 years ago |
1 file, +3, -0 |
| edb6ade2 |
Add continuous connection attempt
If auto connect is enabled, queue another connection attempt until
the adapter sets auto connect to FALSE. The behaviour depends on if the
address is found in the advertising cache or not. |
Claudio Takahasi |
14 years ago |
1 file, +11, -1 |
| 64e1a59a |
Add set auto connect in device
Skeleton of automatic connections driven by platform/user event.
Two layers will manage connections: Profiles can request on demand
connections registering ATTIO connection callbacks(one attempt) for
a given device and platform/user action can trigger automatic
connections for devices with ATTIO callbacks registered. |
Claudio Takahasi |
14 years ago |
4 files, +34, -0 |
| d6e10cb5 |
Remove timer to trigger connection attempts
Removes continuous timer for ATTIO connection attempts. A new approach
is being implemented managing scanning and connection attempts driven
by platform/user actions. eg: screen unlocked. |
Claudio Takahasi |
14 years ago |
1 file, +5, -30 |
| 90c9c7bb |
Fix crash when remote connects to AVRCP without having a record
Device object may exist but control wont be initialized causing the
following crash:
Invalid read of size 8
at 0x12B510: state_changed (control.c:90)
by 0x12BA20: avctp_set_state (avctp.c:367)
by 0x12C0DC: avctp_confirm_cb (avctp.c:733)
by 0x166481: server_cb (btio.c:200)
by 0x4E75ADC: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4E762D7: ??? (in /lib64/libglib-2.0.so.0.3000.0)
by 0x4E76824: g_main_loop_run (in /lib64/libglib-2.0.so.0.3000.0)
by 0x11ED19: main (main.c:473)
Address 0x8 is not stack'd, malloc'd or (recently) free'd |
Luiz Augusto von Dentz |
14 years ago |
1 file, +5, -0 |