| d3a95e30 |
lib: Update list of company identifiers |
Marcel Holtmann |
12 years ago |
1 file, +4, -0 |
| a6761b62 |
core: Fix wrong argument on agent *_cb functions.
The last argument for the functions pincode_cb, passkey_cb and
confirm_cb is a user data pointer with the "void *". Those functions
expect a "struct authentication_req *", but insted a "struct
btd_device*" without any complaint from the compiler due the void* cast.
This fix passes the right argument to those functions.
Other uses of those functions as callbacks (agent_request_passkey,
agent_request_pincode, agent_request_authorization and
agent_request_confirmation) pass the right struct authentication_req *. |
Alex Deymo |
12 years ago |
1 file, +4, -6 |
| aa005c05 |
AVRCP: Fallback to GetElementAttributes if GetItemAttributes fails
If GetItemAttributes fails with error set to player not browsable
fallback to GetElementAttributes. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +5, -1 |
| a3b74e3b |
AVRCP: Reduce number of request to refresh the player list
In case the addressed player changes but it features is already known
the list of players don't need to be refreshed. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +3, -0 |
| f9bef66d |
player: Check if values really changed before emitting signals |
Luiz Augusto von Dentz |
12 years ago |
1 file, +19, -0 |
| c794c470 |
AVRCP: Add support for available player changed event for CT role
This adds support for registering to available player changed event if
supported by TG. |
Luiz Augusto von Dentz |
12 years ago |
4 files, +240, -171 |
| bf1f68d9 |
tools: Add basic invalid parameters test for stop discovery |
Bruna Moreira |
12 years ago |
1 file, +13, -0 |
| 1b5a1d3a |
tools: Add basic rejected test for stop discovery |
Bruna Moreira |
12 years ago |
1 file, +12, -0 |
| 0f7d9ee5 |
tools: Add basic success test for stop discovery |
Bruna Moreira |
12 years ago |
1 file, +63, -0 |
| d54b8ac7 |
tools: Add basic success test for start discovery |
Bruna Moreira |
12 years ago |
1 file, +28, -0 |
| e4968e7f |
textfile: Fix a pointer arithmetic logic bug in read_key()
A substraction of pointers ends up in a wrong computation of the size
passed to strnpbrk() in read_key(). This patch fixes the pointer logic. |
Alex Deymo |
12 years ago |
1 file, +1, -1 |
| ed881174 |
textfile: find_key parsing nit
The find_key function should return a pointer to the begining of the
line in the config file (map) that has the given keyword. This patch
fixes a wrong logic when the another keyword has the given keyword as a
prefix and appears in the first line of the file. |
Alex Deymo |
12 years ago |
1 file, +1, -1 |
| 8c0e4bd6 |
tools: Reduce verbosity of mpris-player |
Luiz Augusto von Dentz |
12 years ago |
1 file, +0, -4 |
| 14421bd0 |
tools: Fix not using player name in the Identity property
This fixes the format of player Identity property, also use Name property
when available. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +29, -7 |
| 21723d6b |
profile: Limit to one remote UUID per profile
The code can be considerably simplified by constraining struct
btd_profile to one single remote UUID. |
Mikel Astiz |
12 years ago |
15 files, +49, -71 |
| 48563e3d |
health: Split health into two btd_profile
Register a separate btd_profile for each health device role. |
Mikel Astiz |
12 years ago |
1 file, +15, -5 |
| 338c7de7 |
gatt: List only GATT_UUID as remote UUID
The probe function checks if both UUIDs are present, so there is no
need to list both in btd_profile. |
Mikel Astiz |
12 years ago |
1 file, +1, -1 |
| 32326556 |
proximity: Split monitor into three btd_profile
Split into three btd_profile such that each of them handles one single
UUID. |
Mikel Astiz |
12 years ago |
1 file, +76, -28 |
| 94823ec7 |
proximity: Split internal monitor registration API
Split the monitor registration API into three independent registrations
each of them taking one specific GATT primary. |
Mikel Astiz |
12 years ago |
3 files, +204, -49 |
| 92121259 |
audio: Split AVRCP into two btd_profile
Register a separate btd_profile for each role of AVRCP. |
Mikel Astiz |
12 years ago |
3 files, +114, -37 |
| 44a66332 |
avrcp: Refactor server registration
Use a helper function to install the AVRCP server, just like other audio
profiles such as in a2dp.c do. |
Mikel Astiz |
12 years ago |
1 file, +32, -22 |
| bcb96cdd |
emulator: Allow multiple vhci adapter creation with btvirt |
Johan Hedberg |
12 years ago |
1 file, +11, -7 |
| 90cb7c58 |
emulator: Fix unique bdaddr creation for multiple vhci_open() calls |
Johan Hedberg |
12 years ago |
1 file, +2, -1 |
| 4e2f84dd |
AVRCP: Fix not checking for invalid player items
This adds checks for invalid size in the media player list returned by
GetFolderItems that could cause crashes. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +11, -3 |
| ec17923a |
AVRCP: Fix not checking for invalid player name length
This adds checks for invalid player name length that could cause crashes
while reading invalid memory. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +1, -1 |
| dbaf48e3 |
AVRCP: Fix not checking for invalid folder length
This adds checks for invalid folder length in SetBrowsedPlayer that
could cause crashes while reading invalid memory. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +10, -5 |
| 900a0fd7 |
AVRCP: Fix not parsing player name properly
Player name length field is 2 bytes long not 1. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +6, -3 |
| 3ec1eff3 |
AVRCP: Fix reading wrong field as folder depth
Folder depth is bit 10 of the parameters not the PDU operands |
Luiz Augusto von Dentz |
12 years ago |
1 file, +1, -1 |
| 8d1fd614 |
audio: Fix not using opposite role for local servers
Local role should be the opposite of the remote role otherwise if either
audio-source or audio-sink is disabled none will work. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +4, -4 |
| e6e654d7 |
audio: Remove profile enabling/disabling logic
This should be handle by the core for all profiles |
Luiz Augusto von Dentz |
12 years ago |
2 files, +8, -58 |
| f5c5e031 |
tools: Fix AVRCP parsing of GetFolderItems for media players
Length of name is 2 bytes not 1 |
Luiz Augusto von Dentz |
12 years ago |
1 file, +4, -4 |
| 7405f972 |
tools: Fix not unregistering all interface when a player disappear |
Luiz Augusto von Dentz |
12 years ago |
1 file, +3, -0 |
| 4b5f50d5 |
source: Register state callback for specified audio device
State callback will now be registered and called for specified device
only. This will allow for more cleaner callback register/unregister
in roles code. |
Szymon Janc |
12 years ago |
3 files, +11, -6 |
| 71032676 |
sink: Register state callback for specified audio device
State callback will now be registered and called for specified device
only. This will allow for more cleaner callback register/unregister
in roles code.
Fix following valgrind reports:
16 bytes in 1 blocks are still reachable in loss record 42 of 219
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x41F31D: sink_add_state_cb (sink.c:456)
by 0x41DD67: audio_device_register (device.c:314)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A801: dev_probe (device.c:2347)
by 0x468C9E: btd_profile_foreach (profile.c:599)
by 0x46BB95: device_probe_profiles (device.c:2423)
by 0x461438: load_devices (adapter.c:2549)
24 bytes in 1 blocks are still reachable in loss record 56 of 219
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x41F2F2: sink_add_state_cb (sink.c:451)
by 0x41DD67: audio_device_register (device.c:314)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A801: dev_probe (device.c:2347)
by 0x468C9E: btd_profile_foreach (profile.c:599)
by 0x46BB95: device_probe_profiles (device.c:2423)
by 0x461438: load_devices (adapter.c:2549)
by 0x465066: read_info_complete (adapter.c:5514)
by 0x471381: request_complete (mgmt.c:221) |
Szymon Janc |
12 years ago |
4 files, +15, -11 |
| 94757c8f |
avctp: Remove user data from avctp_session_state_cb
All users pass NULL as user data so there is no need to keep that. |
Szymon Janc |
12 years ago |
5 files, +11, -19 |
| c80e3120 |
avctp: Allow to register state callback for specified audio device
State callback can now be registered and called for specified device
only (or all devices if NULL is passed). This will allow for more
cleaner callback register/unregister in roles code.
Fix following valgrind reports:
16 bytes in 1 blocks are still reachable in loss record 43 of 223
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x419ABD: avctp_add_state_cb (avctp.c:1652)
by 0x41DD87: audio_device_register (device.c:320)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A821: dev_probe (device.c:2347)
by 0x468CBE: btd_profile_foreach (profile.c:599)
by 0x46BBB5: device_probe_profiles (device.c:2423)
by 0x461458: load_devices (adapter.c:2549)
16 bytes in 1 blocks are still reachable in loss record 44 of 223
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x419ABD: avctp_add_state_cb (avctp.c:1652)
by 0x417791: control_init (control.c:290)
by 0x417097: avrcp_probe (manager.c:156)
by 0x46A821: dev_probe (device.c:2347)
by 0x468CBE: btd_profile_foreach (profile.c:599)
by 0x46BBB5: device_probe_profiles (device.c:2423)
by 0x461458: load_devices (adapter.c:2549)
by 0x465086: read_info_complete (adapter.c:5514)
24 bytes in 1 blocks are still reachable in loss record 59 of 223
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x419A92: avctp_add_state_cb (avctp.c:1647)
by 0x41DD87: audio_device_register (device.c:320)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A821: dev_probe (device.c:2347)
by 0x468CBE: btd_profile_foreach (profile.c:599)
by 0x46BBB5: device_probe_profiles (device.c:2423)
by 0x461458: load_devices (adapter.c:2549)
by 0x465086: read_info_complete (adapter.c:5514)
by 0x4713A1: request_complete (mgmt.c:221)
24 bytes in 1 blocks are still reachable in loss record 60 of 223
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x419A92: avctp_add_state_cb (avctp.c:1647)
by 0x417791: control_init (control.c:290)
by 0x417097: avrcp_probe (manager.c:156)
by 0x46A821: dev_probe (device.c:2347)
by 0x468CBE: btd_profile_foreach (profile.c:599)
by 0x46BBB5: device_probe_profiles (device.c:2423)
by 0x461458: load_devices (adapter.c:2549)
by 0x465086: read_info_complete (adapter.c:5514)
by 0x4713A1: request_complete (mgmt.c:221)
by 0x47175B: received_data (mgmt.c:319) |
Szymon Janc |
12 years ago |
5 files, +19, -11 |
| e7d3fbce |
avdtp: Remove user data from avdtp_session_state_cb
All users pass NULL as user data so there is no need to keep that. |
Szymon Janc |
12 years ago |
5 files, +10, -19 |
| e9ccd989 |
avdtp: Register state callback for specified audio device
State callback will now be registered and called for specified device
only. This will allow for more cleaner callback register/unregister
in roles code.
Fix following valgrind reports:
16 bytes in 1 blocks are still reachable in loss record 43 of 227
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4278BD: avdtp_add_state_cb (avdtp.c:3931)
by 0x41DDA3: audio_device_register (device.c:315)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A7B1: dev_probe (device.c:2347)
by 0x468C4E: btd_profile_foreach (profile.c:599)
by 0x46BB45: device_probe_profiles (device.c:2423)
by 0x4613E8: load_devices (adapter.c:2549)
16 bytes in 1 blocks are still reachable in loss record 45 of 227
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E92CA2: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4E93FC2: g_slist_append (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x4278BD: avdtp_add_state_cb (avdtp.c:3931)
by 0x41F112: sink_init (sink.c:380)
by 0x4171B8: a2dp_sink_probe (manager.c:137)
by 0x46A7B1: dev_probe (device.c:2347)
by 0x468C4E: btd_profile_foreach (profile.c:599)
by 0x46BB45: device_probe_profiles (device.c:2423)
by 0x4613E8: load_devices (adapter.c:2549)
by 0x465016: read_info_complete (adapter.c:5514)
24 bytes in 1 blocks are still reachable in loss record 61 of 227
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x427892: avdtp_add_state_cb (avdtp.c:3926)
by 0x41DDA3: audio_device_register (device.c:315)
by 0x416ECA: manager_get_audio_device (manager.c:491)
by 0x4171A8: a2dp_sink_probe (manager.c:131)
by 0x46A7B1: dev_probe (device.c:2347)
by 0x468C4E: btd_profile_foreach (profile.c:599)
by 0x46BB45: device_probe_profiles (device.c:2423)
by 0x4613E8: load_devices (adapter.c:2549)
by 0x465016: read_info_complete (adapter.c:5514)
by 0x471331: request_complete (mgmt.c:221)
24 bytes in 1 blocks are still reachable in loss record 63 of 227
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E7FA78: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)
by 0x427892: avdtp_add_state_cb (avdtp.c:3926)
by 0x41F112: sink_init (sink.c:380)
by 0x4171B8: a2dp_sink_probe (manager.c:137)
by 0x46A7B1: dev_probe (device.c:2347)
by 0x468C4E: btd_profile_foreach (profile.c:599)
by 0x46BB45: device_probe_profiles (device.c:2423)
by 0x4613E8: load_devices (adapter.c:2549)
by 0x465016: read_info_complete (adapter.c:5514)
by 0x471331: request_complete (mgmt.c:221)
by 0x4716EB: received_data (mgmt.c:319) |
Szymon Janc |
12 years ago |
5 files, +31, -23 |
| 3dcb10d7 |
media-api: Fix mentioning MediaLibrary instead of MediaFolder |
Luiz Augusto von Dentz |
12 years ago |
1 file, +2, -2 |
| 73f29b83 |
AVRCP: Fix storing wrong UID counter
By the AVRCP spec all messages uses big endian not little endian. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +1, -1 |
| aa32fbeb |
AVRCP: Add support to UIDs changed event for CT role
This adds support for registering to UIDs changed event if supported by
TG. |
Luiz Augusto von Dentz |
12 years ago |
2 files, +12, -0 |
| dd662fdf |
player: Only expose Track property if there is metadata
If no metadata is set there is no point in exposing it. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +8, -1 |
| 9022e536 |
player: Only emit PropertiesChanged for Position if track exists |
Luiz Augusto von Dentz |
12 years ago |
1 file, +4, -0 |
| 283dc309 |
AVRCP: Fix changing track metadata too many times
Certain stacks may respond to GetPlayStatus before GetItemAttributes
(e.g iOS 6), which may cause Track to be changed due to duration being
different.
To fix this the code now only attempt to do GetPlayStatus once
GetItemAttributes completes, in addition to this do not require a exact
match of the duration because they can be different as can be observed
bellow:
> L2CAP(d): cid 0x0044 len 141 ctrl 0x0c16 fcs 0xa5ad [psm 27]
I-frame: Unsegmented TxSeq 11 ReqSeq 12
AVCTP Browsing: Response : pt 0x00 transaction 11 pid 0x110e
AVRCP: GetItemAttributes: len 0x0083
...
AttributeID: 0x00000007 (Track duration)
CharsetID: 0x006a (UTF-8)
AttributeLength: 0x0006 (6)
AttributeValue: 222641
...
> L2CAP(d): cid 0x0043 len 22 [psm 23]
AVCTP Control: Response : pt 0x00 transaction 2 pid 0x110e
AV/C: Stable: address 0x48 opcode 0x00
Subunit: Panel
Opcode: Vendor Dependent
Company ID: 0x001958
AVRCP: GetPlayStatus: pt Single len 0x0009
SongLength: 0x00036597 (222615 miliseconds)
SongPosition: 0x00000000 (0 miliconds)
PlayStatus: 0x02 (PAUSED) |
Luiz Augusto von Dentz |
12 years ago |
2 files, +11, -6 |
| 1439c654 |
player: Fix not emitting PropertiesChanged for Browsable and Searchable
Browsable and Searchable should emit PropertiesChanged when their values
changes. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +8, -0 |
| 2b6c519d |
player: Add Playlist property
Playlist property refer to the folder where the list of items being
played can be found. |
Luiz Augusto von Dentz |
12 years ago |
4 files, +53, -2 |
| a04ec6e4 |
player: Add enums for item types and folder types
This avoid having to allocate memory just to store string representation
of these types. |
Luiz Augusto von Dentz |
12 years ago |
3 files, +87, -22 |
| 090c5c7f |
media: Rework MediaItem Type property
Type now can assume the value "folder" so it is no longer necessary to
have Folder property, FolderType in introduced to provide the folder type
that before was on the Type itself.
In addition to this add proper documentation what properties are optional
and under what condition they are available. |
Luiz Augusto von Dentz |
12 years ago |
4 files, +91, -32 |
| 55f158cf |
player: Fix property Device type
Device property should be an objecy path not a string. |
Luiz Augusto von Dentz |
12 years ago |
1 file, +3, -2 |
| 843bcadc |
tools/mgmt-tester: Add basic Set Fast Connectable test case |
Johan Hedberg |
12 years ago |
1 file, +17, -0 |