| 183c843c |
client: Set the feature when initializing the client
When writing Client Features feature values, it needs
to determine whether local EATT is enabled. |
Yang Li |
11 months ago |
3 files, +15, -5 |
| f0e9ecb9 |
audio: upgrade versions to latest possible to qualify
Most of the existing profile versions are withdrawn
to make PTS successfull, need to upgrade the version
for audio profiles and there are no mandatory feature
changes between these versions are seen.
Version changes
A2DP from 1.3 to 1.4
HFP from 1.7 to 1.8
AVRCP TG from 1.5 to 1.6
AVCTP from 1.3 to 1.4 |
Raghavender Reddy Bujala |
11 months ago |
3 files, +6, -6 |
| 8fa5584e |
bass: Register bap attached/detached callbacks
This removes the bass_bcast_probe and bass_bcast_remove APIs, in order to
decouple the BASS and BAP plugins.
Instead, since the BASS Server (BAP Scan Delegator) implementation needs
to reference the bap session, BASS registers bap attached/detached
callbacks with shared/bap.
- After receiving a request from a Broadcast Assistant, the BASS Server
creates a device for the Broadcaster and adds the UUID to probe.
- The service is probed inside the BAP plugin, where a new bt_bap session
is attached. The service is set as user data beforehand.
- The bt_bap session is notified in the BASS bap_attached callback. The
reference to the service is accessible from the user data.
- The BASS Server takes ownership for the service by setting its user
data. This way, short-lived PA sync will be skipped inside BAP, and the
BASS Server will handle long-lived PA sync and stream configuration.
- When the bt_bap session is removed, it will be notified in the
bap_detached callback. |
Iulia Tanasescu |
11 months ago |
3 files, +64, -40 |
| d3e40e82 |
build: check first before enabling -D_FORTIFY_SOURCE=3
With --disable-optimization, _FORTIFY_SOURCE=3 produces compiler
warnings/errors:
/usr/include/features.h:422:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
422 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
Before enabling it for --enable-maintainer-mode, check the compiler
doesn't fail when using the flag. |
Pauli Virtanen |
11 months ago |
1 file, +15, -1 |
| f44d3e08 |
shared/asha: Add support for other side update
ASHA specification requires that the status of the other side be
communicated with the start command. The status is also updated
if one of the device in the pair is connected/disconnected after
the other.
Acked-by: Arun Raghavan <arun@asymptotic.io> |
Sanchayan Maity |
11 months ago |
2 files, +173, -3 |
| dd531609 |
gatt: expanded maximum GATT channels to 6
The maximum value of GATT channels should be 6,
including ATT fixed channel(1) and EATT L2CAP CoC(2-6).
Fixes: https://github.com/bluez/bluez/issues/1033 |
Yang Li |
11 months ago |
2 files, +4, -3 |
| 4bc86606 |
mpris-proxy: Fix infinite list items reception
Samsung Music app on Android phone send play list items in loop if
highest bit is set to 1, so limit playlist to 0x7FFFFFFF items. |
Frédéric Danis |
11 months ago |
1 file, +7, -0 |
| 01a5a268 |
mpris-proxy: Add mpris:artUrl support
This commit connects to the bip-avrcp Obex service if the
org.bluez.MediaPlayer ObexPort property exists.
Once connected, the Track properties update may contain an
ImgHandle which is automatically downloaded, then a Metadata
property updated signal is sent on org.mpris.MediaPlayer2.Player
interface.
Some devices share the Obex session between multiple players. So
the Obex session is created by device.
mpris-proxy logs with cover art download and player switch:
$ tools/mpris-proxy
org.bluez appeared
org.bluez.obex appeared
Bluetooth Obex Client /org/bluez/obex found
Bluetooth Adapter /org/bluez/hci0 found
player org.mpris.MediaPlayer2.rhythmbox at :1.159 found
Bluetooth Transport /org/bluez/hci0/dev_24_24_B7_11_82_6C/fd8 found
Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 found
Bluetooth Obex Create new session
Player org.mpris.MediaPlayer2.Fr__d__ric_s_S23 created
Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/Filesystem found
Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/NowPlaying found
Bluetooth Folder /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 found
Bluetooth Obex ImgHandle: 0000007
Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/NowPlaying/item2 found
Bluetooth Obex cover art available at: /tmp/session9-0000007
Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 removed
Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player127 found
Bluetooth Obex reuse existing session
Player org.mpris.MediaPlayer2.Fr__d__ric_s_S23_Media_Player created
player org.mpris.MediaPlayer2.Fr__d__ric_s_S23 at :1.1035 disappear
Bluetooth Obex ImgHandle: 0000008
Bluetooth Obex cover art available at: /tmp/session9-0000008 |
Frédéric Danis |
11 months ago |
1 file, +432, -10 |
| 9839799b |
mpris-proxy: Fix missing line returns |
Frédéric Danis |
11 months ago |
1 file, +5, -5 |
| 9dbc92a3 |
tools: print error on mkdir
On some fresh installations where XDG_CONFIG_SESSION is not defined,
and $HOME/.config is not created yet, mesh-cfgclient failed with no
hints. |
Pablo Montes |
11 months ago |
1 file, +3, -1 |
| de2773b6 |
emulator: Fix Werror=stringop-overflow
This fixes the following build errors caused by buf being used as a
static from tracking progress of a packet when it is not necessary since
pkt_data exists for the same reason:
/usr/include/bits/unistd.h:32:10: error: ‘__read_alias’ specified size between 18446744073709490177 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
32 | return __glibc_fortify (read, __nbytes, sizeof (char),
| ^~~~~~~~~~~~~~~
emulator/serial.c: In function ‘serial_read_callback’:
emulator/serial.c:78:24: note: destination object allocated here
78 | static uint8_t buf[4096];
| ^~~
/usr/include/bits/unistd-decl.h:29:16: note: in a call to function ‘__read_alias’ declared with attribute ‘access (write_only, 2, 3)’
29 | extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf,
| ^~~~~~~~~~~~~~~~~~
Fixes: https://github.com/bluez/bluez/issues/1049 |
Luiz Augusto von Dentz |
11 months ago |
1 file, +3, -4 |
| 26ef5a95 |
build: Enable -Wstringop-overflow and -D_FORTIFY_SOURCE=3
This enables -Wstringop-overflow compiler warnings:
'Warn for calls to string manipulation functions such as "memcpy" and
"strcpy" that are determined to overflow the destination buffer.'
Along with -D_FORTIFY_SOURCE=3 so the errors like the following can be
captured:
In function ‘read’,
inlined from ‘serial_read_callback’ at emulator/serial.c:90:8:
/usr/include/bits/unistd.h:32:10: error: ‘__read_alias’ specified size between 18446744073709490177 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
32 | return __glibc_fortify (read, __nbytes, sizeof (char),
| ^~~~~~~~~~~~~~~ |
Luiz Augusto von Dentz |
11 months ago |
1 file, +2, -0 |
| e77884ac |
shared/vcp: have only one volume change in flight at a time
If bt_vcp_set_volume() is called again before the previous operation has
completed, the requests get the same change counter, and all except the
first one fail.
Fix by waiting until the current request completes, and if volume was
set again during waiting, send a new request with the latest pending
volume value. In this definition, bt_vcp_set_volume() will skip over
intermediate volume updates if they are done too rapidly.
Send only volume requests that change the value to a different one than
last notification we have seen: in this case the request either fails,
or succeeds and generates a new notification. In theory this guarantees
we always exit waiting, but safeguard it with a timeout. |
Pauli Virtanen |
11 months ago |
1 file, +82, -4 |
| 1474c116 |
build: Remove AMP related functionality
High Speed, Alternate MAC and PHY (AMP) extension, has been removed from
Bluetooth Core specification on 5.3:
https://www.bluetooth.com/blog/new-core-specification-v5-3-feature-enhancements/
The kernel already have undergone similar changes starting with
e7b02296fb40 ("Bluetooth: Remove BT_HS"). |
Luiz Augusto von Dentz |
11 months ago |
11 files, +4, -2548 |
| 252a32ac |
a2dp: enable input MTU auto-tuning for the server
L2CAP frames are lost while utilizing some exotic A2DP transports
usually coming up with weird custom MTU sizes so take advantage of
auto-tuning it for such cases.
Found by Linux Verification Center (linuxtesting.org).
Fixes: https://github.com/bluez/bluez/issues/1080 |
Fedor Pchelkin |
11 months ago |
1 file, +2, -0 |
| 04b220a1 |
btio: actually try to enable MTU auto-tuning
A "0" for the input MTU passed to the underlying socket is supposed to
indicate that its value should be determined by the L2CAP layer.
However, the current code treats a zero imtu just as if there is
nothing to change.
Introduce rework the code to indicate that the zero imtu is
explicitly requested by the caller for the purpose of auto-tuning and -1
is used as not set value.
Found by Linux Verification Center (linuxtesting.org).
Fixes: ae5be371a9f5 ("avdtp: Enable MTU auto tunning") |
Fedor Pchelkin |
11 months ago |
1 file, +20, -9 |
| 1b37809b |
obex: Update the MAP Client version to 1.4 in SDP record
This change is required in below PTS testcase:
1. MAP/MCE/SGSIT/ATTR/BV-10-C
Attribute GSIT - Bluetooth Profile Descriptor List, MAP 1.4
Current MAP Client version 1.2 is being deprecated and withdrawn
from BT Sig, so it is mandatory to update the version.
No additional changes are needed for supporting the new version. |
Amisha Jain |
11 months ago |
2 files, +3, -2 |
| 0acdf186 |
adapter: Fix the pending changing flags check
When checking if the new desired device flags are already pending, we
should compare them against the XOR of current flags and desired flags,
i.e. the flags that are going to change.
For example, let's assume the following situation:
- We have a device with `current_flags == DEVICE_FLAG_REMOTE_WAKEUP`
(i.e. 1)
- We want to disable the `wake_allowed` property
- `device_set_wake_allowed()` will call `adapter_set_device_flags()`
with `flags == 0`
- When in `adapter_set_device_flags()`, we'll have:
- current == 1
- pending == 0
- flags == 0
In this situation `flags == (flags & pending)` would not return what
we'd expect. |
Ludovico de Nittis |
11 months ago |
1 file, +2, -1 |
| f0d0266a |
device: Clear only the pending flags that have been applied
When executing `btd_device_flags_changed()`, `dev->pending_flags` may
hold additional queued flag changes.
Instead of completely clearing out `dev->pending_flags`, we should only
remove the bits that have been actually applied and leaving the rest as
pending. |
Ludovico de Nittis |
11 months ago |
1 file, +1, -1 |
| 6b34b055 |
gatt: Implement confirmation support for AcquireNotify
This implements AcquireNotify (fd based) confirmation so servers can be
notified when a client confirm the reception of an indication.
Fixes: https://github.com/bluez/bluez/issues/1081 |
Luiz Augusto von Dentz |
11 months ago |
1 file, +36, -2 |
| 1f7a7c9d |
org.bluez.GattCharacteristic: Add confirmation support to AcquireNotify
This adds confirmation support for AcquireNotify when indication
procedure is used, also document the behavior of clients vs servers. |
Luiz Augusto von Dentz |
11 months ago |
1 file, +5, -0 |
| f9417eaf |
advertising: Add scan response support in bluetoothctl
Add commands in the bluetoothctl advertising submenu to manage
scan response data. |
Yuxin Wang |
11 months ago |
4 files, +515, -130 |
| ab650247 |
advertising: Add scan response properties to LEAdvertisement1
This update introduces a few properties to org.bluez.LEAdvertisement1
for manipulating Scan Response Data, similar to the existing properties
for Advertising Data.
Fixes: https://github.com/bluez/bluez/issues/667 |
Luiz Augusto von Dentz |
11 months ago |
1 file, +104, -36 |
| 36c79632 |
org.bluez.LEAdvertisement: Add dedicated Scan Response field
This adds Scan Response fields as experimental so we can evaluate if
this should be made into a stable API. |
Luiz Augusto von Dentz |
11 months ago |
1 file, +66, -35 |
| 46fbbd60 |
client: Update transport.select documentation
This updates the transport.select documentation to explain the expected
behavior when selecting multiple transports and when an audio server is
involved. |
Iulia Tanasescu |
11 months ago |
1 file, +11, -2 |
| 6f284a92 |
client/player: Rework transport.select
Since the transport.select command should also work for transports
created by audio servers, the transport should not be required to
be associated with a local bluetoothctl endpoint, to avoid errors
like below:
[bluetoothctl]> scan on
[bluetoothctl]> [NEW] Device 1C:F1:FA:E7:B0:3F 1C-F1-FA-E7-B0-3F
[1C-F1-FA-E7-B0-3F]> [NEW] Transport
/org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis1/fd0
[1C-F1-FA-E7-B0-3F]> [NEW] Transport
/org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis2/fd1
[1C-F1-FA-E7-B0-3F]> transport.select
/org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis1/fd0
/org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis2/fd
Local endpoint not found
This reworks transport.select to use a dedicated structure to hold
information about the transport and its links, instead of using the
local endpoint. |
Iulia Tanasescu |
11 months ago |
1 file, +72, -84 |
| 9f11c181 |
shared/gatt-db: fix crash on bad attribute index
In gatt_db_attribute_get_value(), avoid NULL pointer deref if attribute
or db is in unexpected state and attrib at index-1 is missing.
Fixes btmon -r crash, on a packet capture obtained with btmon -w after
clearing BlueZ attributes & cache for the device:
==208213==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000000c
==208213==The signal is caused by a READ memory access.
==208213==Hint: address points to the zero page.
#0 0x5af4a6 in bt_uuid_to_uuid128 lib/uuid.c:65
#1 0x5afd54 in bt_uuid_cmp lib/uuid.c:118
#2 0x5d0dd2 in gatt_db_attribute_get_value src/shared/gatt-db.c:1663
#3 0x56aeab in print_value monitor/att.c:158
#4 0x56b80f in print_attribute monitor/att.c:207
#5 0x5982f7 in print_handle monitor/att.c:4417
#6 0x59b1b8 in print_write monitor/att.c:4598
#7 0x59b796 in att_write_req monitor/att.c:4627
#8 0x59e91e in att_packet monitor/att.c:4918
#9 0x4f4847 in l2cap_frame monitor/l2cap.c:2567
#10 0x4f6022 in l2cap_packet monitor/l2cap.c:2708
#11 0x4a48f6 in packet_hci_acldata monitor/packet.c:12606
#12 0x43952a in packet_monitor monitor/packet.c:4247
#13 0x4170c9 in control_reader monitor/control.c:1517
#14 0x402f76 in main monitor/main.c:277 |
Pauli Virtanen |
11 months ago |
1 file, +2, -0 |
| 171930d5 |
transport: fix issues with BAP volumes > 127
Change types used for volumes to int, for BAP volumes > 127 and to
allow -1 as it is used to mean no volume.
Fix BAP max volume check in transport.
Fixes setting BAP volumes. |
Pauli Virtanen |
11 months ago |
2 files, +40, -28 |
| 29f0bdb5 |
gatt-client: Fix warnings when reconnecting
When reconnecting warnings could be seen due to services already
existing which is a new behavior introduced by dbd6591bd1d0
("main.conf: Add GATT.ExportClaimedServices"). |
Luiz Augusto von Dentz |
11 months ago |
1 file, +21, -8 |
| fac78ca5 |
avrcp: Fix crash on remote player changed
bluetoothd crashes when the remote player changes while bluetoothd
is waiting for avrcp_list_items reply.
profiles/audio/player.c:1597:9: runtime error: member access within null pointer of type 'struct media_folder'
AddressSanitizer:DEADLYSIGNAL
=================================================================
==825871==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x602bb0fffabc bp 0x000000000020 sp 0x7ffef88216d0 T0)
==825871==The signal is caused by a READ memory access.
==825871==Hint: address points to the zero page.
#0 0x602bb0fffabc in media_folder_find_item profiles/audio/player.c:1597
#1 0x602bb100cd3b in media_folder_create_item profiles/audio/player.c:1877
#2 0x602bb100cd3b in media_player_create_item profiles/audio/player.c:1928
#3 0x602bb107eae6 in parse_media_element profiles/audio/avrcp.c:2605
#4 0x602bb107eae6 in avrcp_list_items_rsp profiles/audio/avrcp.c:2706
#5 0x602bb106892f in browsing_response profiles/audio/avctp.c:987
#6 0x602bb106892f in session_browsing_cb profiles/audio/avctp.c:1028
#7 0x73de85b1448d (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d48d) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5)
#8 0x73de85b73716 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xbc716) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5)
#9 0x73de85b14f76 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5df76) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5)
#10 0x602bb13a22a8 in mainloop_run src/shared/mainloop-glib.c:66
#11 0x602bb13a2bb6 in mainloop_run_with_signal src/shared/mainloop-notify.c:189
#12 0x602bb0fd0257 in main src/main.c:1544
#13 0x73de84e2a1c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#14 0x73de84e2a28a in __libc_start_main_impl ../csu/libc-start.c:360
#15 0x602bb0fd3124 in _start (/home/fdanis/src/bluez/src/bluetoothd+0x5c8124) (BuildId: 367892bd0501d74713dd7341977abfac1b2c5d6a)
This can be reproduced using bluetoothctl and doing "player.list-items"
just before switching music player on the remote device.
This commit discards the item list parsing if the current player has
not created a pending_list_items, i.e. it doesn't start this request. |
Frédéric Danis |
11 months ago |
1 file, +5, -0 |
| 0aac6883 |
vcp: Fix using scaled values for volume
This makes the volume range 0-255 as per VCP spec rather than scaling it
to fit 0-127. |
Luiz Augusto von Dentz |
11 months ago |
3 files, +16, -29 |
| 9daadc32 |
org.bluez.MediaTransport: Allow Volume property to follow profile range
This makes the Volume property to follow the profile defined range. |
Luiz Augusto von Dentz |
11 months ago |
1 file, +2, -1 |
| 628c15a5 |
shared/shell: add proper line clean to bt_shell_printf
In some terminals (or all?) the line is not cleared before a new one
is output (for example, if you turn on scanning and then try to write
something to the terminal, the output will be mixed - you will get
something like this:
[JBL T450BT]# h[NEW] Device ****
[JBL T450BT]# he[NEW] Device ****
[JBL T450BT]# hell[NEW] Device ****
[JBL T450BT]# hello[NEW] Device ****
[JBL T450BT]# hello[NEW] Device ****
Where "Device ****" is the line that was actually fed to
bt_shell_printf. |
Denis Burkov |
11 months ago |
1 file, +1, -0 |
| 73b251b8 |
shared/vcp: control volume when acting as a server
Local VCP chatacteristics are now connected to transport properties. |
Michal Dzik |
11 months ago |
1 file, +66, -2 |
| 49c53595 |
audio: fix VCP connection management
Those changes are mandatory to be able to connect to the same VCP
renderer more than once without need to restart bluez.
- use vcp_disconnect() to close client connection and reset vcs members
- call bt_vcp_detach() the same way as bt_vcp_attach - from btd_profile
callback |
Michal Dzik |
11 months ago |
1 file, +13, -3 |
| 53d3e2c5 |
shared/vcp: fix memory & connection management
Those changes are mandatory to be able to connect to the same VCP
renderer more than once without need to restart bluez
- don't call vcp_detached on all cbs, as it would clean up too many
(all) device-related objects
- vcs members can be already set when connecting for the second time |
Michal Dzik |
11 months ago |
1 file, +12, -8 |
| af8266af |
audio: connect VCP profile client to MediaTransport
It is now possible to control absolute volume of remote volume renderer
device via dbus and also get notifications if the volume changes. |
Michal Dzik |
11 months ago |
4 files, +97, -13 |
| 2767b96f |
shared/vcp: add API to control volume on VCP client |
Michal Dzik |
11 months ago |
2 files, +89, -1 |
| 1479c86e |
shared/bap: Append extra L3 LTVs to BIS config
According to the BAP spec, the level 3 of the BASE contains codec
configuration LTVs specific to each BIS, in addition to the
configuration provided at level 2 (subgroup level) (v1.0.1,
section 3.7.2.2 Basic Audio Announcements).
Currently, when a Broadcast Sink parses the BASE discovered from a
Broadcast Source, level 3 LTV types that are not also present at
level 2 are not included in the final BIS cofiguration, causing
incorrect stream handling. This updates the BASE parsing logic to
consider level 3 LTVs. |
Iulia Tanasescu |
12 months ago |
1 file, +27, -1 |
| 07e8e726 |
btio: Set correct length for getsockopt
When calling getsockopt for BT_ISO_BASE, this initializes the length
argument to the maximum size of the buffer where the bytes are placed.
This fixes the fact that, on a Broadcast Sink, if the BASE discovered
from a Broadcast Source exceeds a certain length, the bytes will be
incompletely read, causing issues when parsing the LTVs. |
Iulia Tanasescu |
12 months ago |
1 file, +2, -1 |
| 07c14fcf |
shared/shell: Always set stdout to be line buffered
This always set stdout to be line buffered to avoid cluttering the
output:
https://github.com/bluez/bluez/issues/747#issuecomment-2596840382 |
Luiz Augusto von Dentz |
12 months ago |
1 file, +2, -1 |
| 2ee08ffd |
device: Clear pending_wake_allowed on error
If setting WakeAllowed fails, we should unset the `pending_wake_allowed`
property, or subsequent requests will be rejected due to another
"Property change in progress".
Fixes: https://github.com/bluez/bluez/issues/1047 |
Ludovico de Nittis |
12 months ago |
1 file, +1, -0 |
| a3076386 |
BNEP: Fix the BNEP Unknown Control Message in PTS testing:
This change is required for passing below PTS testcase:
1. BNEP/CTRL/BV-01-C
Fix the flag judgment issue, it should check type
instead of ctrl. |
Shuai Zhang |
12 months ago |
1 file, +1, -1 |
| 5f8a68d9 |
build: Fix --disable-asha
This fixes --disable-asha causing build errors:
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_asha_set_volume':
/bluez/profiles/audio/transport.c:2362:(.text.transport_asha_set_volume+0x2f): undefined reference to `bt_asha_device_set_volume'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_asha_get_volume':
/bluez/profiles/audio/transport.c:2345:(.text.transport_asha_get_volume+0x9): undefined reference to `bt_asha_device_get_volume'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `get_asha_delay':
/bluez/profiles/audio/transport.c:1566:(.text.get_asha_delay+0xd): undefined reference to `bt_asha_device_get_render_delay'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `asha_transport_sync_state':
/bluez/profiles/audio/transport.c:2216:(.text.asha_transport_sync_state+0x8): undefined reference to `bt_asha_device_get_state'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `asha_transport_state_cb':
/bluez/profiles/audio/transport.c:2245:(.text.asha_transport_state_cb+0x1d): undefined reference to `bt_asha_device_get_state'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2252:(.text.asha_transport_state_cb+0x94): undefined reference to `bt_asha_device_get_fd'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2253:(.text.asha_transport_state_cb+0xa0): undefined reference to `bt_asha_device_get_imtu'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2254:(.text.asha_transport_state_cb+0xad): undefined reference to `bt_asha_device_get_omtu'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_asha_resume':
/bluez/profiles/audio/transport.c:2290:(.text.transport_asha_resume+0x19): undefined reference to `bt_asha_device_start'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_asha_suspend':
/bluez/profiles/audio/transport.c:2303:(.text.transport_asha_suspend+0x1e): undefined reference to `bt_asha_device_stop'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2307:(.text.transport_asha_suspend+0x48): undefined reference to `bt_asha_device_stop'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_asha_cancel':
/bluez/profiles/audio/transport.c:2318:(.text.transport_asha_cancel+0x17): undefined reference to `bt_asha_device_get_state'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2320:(.text.transport_asha_cancel+0x22): undefined reference to `bt_asha_device_device_get_resume_id'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2334:(.text.transport_asha_cancel+0x61): undefined reference to `bt_asha_device_state_reset'
/usr/bin/ld: /bluez/profiles/audio/transport.c:2328:(.text.transport_asha_cancel+0x81): undefined reference to `bt_asha_device_stop'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:6378: src/bluetoothd] Error 1
make: *** [Makefile:4696: all] Error 2 |
Luiz Augusto von Dentz |
1 year ago |
2 files, +12, -0 |
| 2762dffb |
audio/transport: Make include of avrcp.h conditional
This makes the include of avrcp.h conditional to HAVE_AVRCP. |
Luiz Augusto von Dentz |
1 year ago |
1 file, +3, -1 |
| 4f288bd9 |
build: Fix --disable-a2dp
This fixes --disable-a2dp causing build errors:
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_snk_init':
/bluez/profiles/audio/transport.c:1742:(.text.transport_a2dp_snk_init+0x49): undefined reference to `source_add_state_cb'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_destroy':
/bluez/profiles/audio/transport.c:1578:(.text.transport_a2dp_src_destroy+0x14): undefined reference to `avdtp_unref'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_src_destroy':
/bluez/profiles/audio/transport.c:1588:(.text.transport_a2dp_src_destroy+0x29): undefined reference to `sink_remove_state_cb'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_get_stream':
/bluez/profiles/audio/transport.c:397:(.text.transport_a2dp_get_stream+0x1a): undefined reference to `a2dp_sep_get_stream'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_cancel':
/bluez/profiles/audio/transport.c:586:(.text.transport_a2dp_cancel+0xc): undefined reference to `a2dp_cancel'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_remove_owner':
/bluez/profiles/audio/transport.c:602:(.text.transport_a2dp_remove_owner+0x34): undefined reference to `a2dp_cancel'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_src_init':
/bluez/profiles/audio/transport.c:1725:(.text.transport_a2dp_src_init+0x49): undefined reference to `sink_add_state_cb'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_destroy':
/bluez/profiles/audio/transport.c:1578:(.text.transport_a2dp_snk_destroy+0x14): undefined reference to `avdtp_unref'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_snk_destroy':
/bluez/profiles/audio/transport.c:1598:(.text.transport_a2dp_snk_destroy+0x29): undefined reference to `source_remove_state_cb'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_suspend':
/bluez/profiles/audio/transport.c:438:(.text.transport_a2dp_suspend+0x79): undefined reference to `a2dp_sep_unlock'
/usr/bin/ld: /bluez/profiles/audio/transport.c:433:(.text.transport_a2dp_suspend+0x5a): undefined reference to `a2dp_suspend'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `a2dp_suspend_complete':
/bluez/profiles/audio/transport.c:415:(.text.a2dp_suspend_complete+0x47): undefined reference to `a2dp_sep_unlock'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_resume':
/bluez/profiles/audio/transport.c:555:(.text.transport_a2dp_resume+0x4d): undefined reference to `a2dp_sep_lock'
/usr/bin/ld: /bluez/profiles/audio/transport.c:550:(.text.transport_a2dp_resume+0x76): undefined reference to `a2dp_resume'
/usr/bin/ld: /bluez/profiles/audio/transport.c:558:(.text.transport_a2dp_resume+0xa2): undefined reference to `a2dp_resume'
/usr/bin/ld: /bluez/profiles/audio/transport.c:544:(.text.transport_a2dp_resume+0xd5): undefined reference to `a2dp_avdtp_get'
/usr/bin/ld: /bluez/profiles/audio/transport.c:561:(.text.transport_a2dp_resume+0xf8): undefined reference to `a2dp_sep_unlock'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_get_stream':
/bluez/profiles/audio/transport.c:397:(.text.a2dp_resume_complete+0x82): undefined reference to `a2dp_sep_get_stream'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `a2dp_resume_complete':
/bluez/profiles/audio/transport.c:508:(.text.a2dp_resume_complete+0xcc): undefined reference to `avdtp_stream_get_transport'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `transport_a2dp_snk_set_delay':
/bluez/profiles/audio/transport.c:659:(.text.transport_a2dp_snk_set_delay+0x95): undefined reference to `a2dp_avdtp_get'
/usr/bin/ld: /bluez/profiles/audio/transport.c:676:(.text.transport_a2dp_snk_set_delay+0x52): undefined reference to `avdtp_delay_report'
/usr/bin/ld: profiles/audio/bluetoothd-transport.o: in function `delay_reporting_exists':
/bluez/profiles/audio/transport.c:1000:(.text.delay_reporting_exists+0x19): undefined reference to `avdtp_stream_has_delay_reporting'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:6378: src/bluetoothd] Error 1
make: *** [Makefile:4696: all] Error 2 |
Luiz Augusto von Dentz |
1 year ago |
2 files, +21, -3 |
| 1e1c3112 |
build: Fix --disable-avrcp
This fixes --disable-avrcp causing build errors.
Fixes: https://github.com/bluez/bluez/issues/1061 |
Luiz Augusto von Dentz |
1 year ago |
4 files, +55, -5 |
| 03604113 |
Doc: Obex Implement support for message listing format version 1.1
Add the documentation for the ‘Messages-Listing Format Version 1.1’
feature for MCE. |
Amisha Jain |
1 year ago |
1 file, +39, -0 |
| 79441ae9 |
obex: Implement support for message listing format version 1.1 for MCE
As per spec, Messages-Listing Format Version 1.1 is being marked
mandatory feature to be supported in MAP 1.3 & above versions.
This change is added for MAP client role.
This change is required for passing below testcases-
1) MAP/MCE/MFB/BV-01-C
Verify that the MCE correctly advertises the correct feature bits
in the MNS SDP record.
2) MAP/MCE/MFB/BV-03-C
Verify that the MCE correctly advertises the correct MapSupportedFeatures
bits in the MNS SDP record during MAS connection.
Also add the Messages-Listing Format Version 1.1 as supported
in mns sdp record. |
Amisha Jain |
1 year ago |
2 files, +171, -1 |
| 5e965f8d |
obexctl: Implement support for message listing format version 1.1 for MCE
This change is corresponding to obexd changes done for implementing
‘Messages-Listing Format Version 1.1’ .
This change will emit the newly added properties values in obexctl
which are sent by server. |
Amisha Jain |
1 year ago |
1 file, +5, -0 |