| 8f853903 |
input: Switch back to kernel hidp if uhid cannot be initialized
If bt_uhid_new_default doesn't work it is likely that the underline
kernel doesn't support it so this attempts to switch back to kernel
mode (hidp). |
Luiz Augusto von Dentz |
1 year ago |
1 file, +3, -3 |
| 4fa24e65 |
monitor: Make BTSNOOP_PRIORITY_DEBUG the default
This makes BTSNOOP_PRIORITY_DEBUG the default so it captures debug logs
from the likes of bluetoothd which is very handy when debugging problems
as otherwise the logs have to entered separately making it hard to
figure out the ordering of the messages. |
Luiz Augusto von Dentz |
1 year ago |
1 file, +1, -1 |
| 7679c969 |
build: Remove wiimote plugin |
Luiz Augusto von Dentz |
1 year ago |
2 files, +0, -133 |
| c281bc46 |
autopair: Move handling of wii controllers
This moves the pairing handling of wii controllers to autopair plugin.
Link: https://github.com/bluez/bluez/issues/911#issuecomment-2571606630 |
Luiz Augusto von Dentz |
1 year ago |
1 file, +80, -0 |
| 79900d49 |
plugin: Order plugin init by priority
The init order matters for some plugins, e.g. wiimote
Add them to a sorted list before calling add_plugin
Fixes: https://github.com/bluez/bluez/issues/911 |
Blaise Duszynski |
1 year ago |
1 file, +13, -7 |
| d3018fe2 |
client/player: Rework transport select for encrypted streams
This fixes the transport select flow in bluetoothctl: If the user tries
to select multiple encrypted transports, the prompts for the Broadcast
Code overlap, causing the UI to be distorted:
[11-AE-0A-C1-F4-30]# transport.select
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd0
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd1
[] Enter brocast code[value/no]: Successfully linked transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd1
[] Enter brocast code[value/no]: Borne House
(null)Setting broadcast code succeeded
(null)[CHG] Transport /org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd0
State: broadcasting
(null)Select successful
(null)
This commit updates the transport select command handler to first
link all transports before setting the Broadcast Code only on the
primary link (the Broadcast Code is common for all BISes in the BIG).
After the Broadcast Code is successfully set, each link is selected
one by one. The bluetoothctl log below shows the updated output:
client/bluetoothctl
[bluetooth]# endpoint.register 00001851-0000-1000-8000-00805f9b34fb 0x06
[/local/endpoint/ep0] Auto Accept (yes/no): y
[/local/endpoint/ep0] Max Transports (auto/value): a
[/local/endpoint/ep0] Locations: 1
[/local/endpoint/ep0] Supported Context (value): 1
[bluetooth]# Endpoint /local/endpoint/ep0 registered
[bluetooth]# scan on
[bluetooth]# [NEW] Device 11:16:BD:36:58:3F 11-16-BD-36-58-3F
[11-16-BD-36-58-3F]# [CHG] Device 11:16:BD:36:58:3F Connected: yes
[11-16-BD-36-58-3F]# [NEW] Transport
/org/bluez/hci0/dev_11_16_BD_36_58_3F/bis1/fd0
[11-16-BD-36-58-3F]# [NEW] Transport
/org/bluez/hci0/dev_11_16_BD_36_58_3F/bis2/fd1
[11-16-BD-36-58-3F]# transport.select
/org/bluez/hci0/dev_11_16_BD_36_58_3F/bis1/fd0
/org/bluez/hci0/dev_11_16_BD_36_58_3F/bis2/fd1
[11-AE-0A-C1-F4-30]# Successfully linked transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3
[] Enter brocast code[value/no]: Borne House
[11-AE-0A-C1-F4-30]# Setting broadcast code succeeded
[11-AE-0A-C1-F4-30]# [CHG] Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd2
State: broadcasting
[11-AE-0A-C1-F4-30]# Select successful
[11-AE-0A-C1-F4-30]# [CHG] Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3
State: broadcasting
[11-AE-0A-C1-F4-30]# Select successful
[11-AE-0A-C1-F4-30]# transport.acquire
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd2
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3
auto acquiring...
Transport /org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd2 acquiring
auto acquiring...
Transport /org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3 acquiring
[11-AE-0A-C1-F4-30]# Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd2
acquiring complete
[11-AE-0A-C1-F4-30]# Acquire successful: fd 11 MTU 40:0
[11-AE-0A-C1-F4-30]# [CHG] Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis1/fd2
State: active
[11-AE-0A-C1-F4-30]# Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3
acquiring complete
[11-AE-0A-C1-F4-30]# Acquire successful: fd 7 MTU 40:0
[11-AE-0A-C1-F4-30]# [CHG] Transport
/org/bluez/hci0/dev_11_AE_0A_C1_F4_30/bis2/fd3
State: active
The BIG Create Sync command is sent with the correct Broadcast Code,
for the 2 acquired BISes:
< HCI Command: LE Broadcast Isochronous Group Create Sync (0x08|0x006b)
BIG Handle: 0x00
BIG Sync Handle: 0x0000
Encryption: Encrypted (0x01)
Broadcast Code[16]: 426f726e6520486f7573650000000000
Maximum Number Subevents: 0x00
Timeout: 20000 ms (0x07d0)
Number of BIS: 2
BIS ID: 0x01
BIS ID: 0x02
> HCI Event: Command Status (0x0f)
LE Broadcast Isochronous Group Create Sync (0x08|0x006b) ncmd 1
Status: Success (0x00) |
Iulia Tanasescu |
1 year ago |
1 file, +127, -32 |
| e83d3021 |
bass: Handle Modify Source opcode
This adds a handler for the Modify Source opcode.
A Broadcast Assistant might write the Modify Source opcode to request
the Scan Delegator to terminate or establish sync with some BISes.
If required to terminate sync with specific BISes, the Scan Delegator
must unlink and release the streams, leaving the others active. If
required to sync to a new BIS, the Scan Delegator must redo BIG sync
with a new array of BIS indeces. All active streams must be unlinked
and disabled, and the new stream should be configured. Then, the
user can select and acquire the streams, which will recreate the ios. |
Iulia Tanasescu |
1 year ago |
1 file, +145, -1 |
| 614f2fc8 |
bass: Pass delegator reference to connect_cb
The connect_cb callback should receive more generic user_data instead
of the stream reference, since the event source is not removed after
connected fds are notified, and the same event might be generated
multiple times for the same io, expecting to connect different streams. |
Iulia Tanasescu |
1 year ago |
1 file, +20, -3 |
| ac06953b |
bass: Create setups for all BISes in BASE
A BAP Scan Delegator (BASS Server) might be instructed by BAP Broadcast
Assistants (BASS Clients) to change sync between streams, via the Modify
Source operation. A Scan Delegator should create setups for all BISes
discovered in the BASE of a Broadcast Source, and create associated
streams based on Add Source/Modify Source commands received from
Assistants. |
Iulia Tanasescu |
1 year ago |
1 file, +31, -18 |
| 547b0091 |
shared/bass: Add handler for Modify Source opcode
This adds a control point handler for the Modify Source opcode. |
Iulia Tanasescu |
1 year ago |
1 file, +98, -0 |
| 86081a10 |
shared/bass: Add API to set sync state
This adds an API to set the PA sync state of o Broadcast Receive State
characteristic. |
Iulia Tanasescu |
1 year ago |
2 files, +11, -0 |
| 9b094c56 |
shared/bass: Fix clearing BIS sync index
This fixes bt_bass_clear_bis_sync by checking the bitmask which contains
synced BIS indeces, instead of the mask holding pending BISes. |
Iulia Tanasescu |
1 year ago |
1 file, +1, -1 |
| dfb1ffdc |
device: Fix not being able to set WakeAllowed
Setting WakeAllowed was not working as intended since
device_set_wake_override was changing the current_flags which
btd_device_flags_changed checks to determine if flags has been changed
to only then call device_set_wake_allowed_complete.
Fixes: https://github.com/bluez/bluez/issues/1045 |
Luiz Augusto von Dentz |
1 year ago |
1 file, +26, -11 |
| c0fb6c06 |
client: Add command wake
This adds command wake which can be used to set WakeAllowed property:
[bluetoothctl]> wake XX:XX:XX:XX:XX:XX off
[bluetoothctl]> Changing wake off succeeded
[bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: no
[bluetoothctl]> wake XX:XX:XX:XX:XX:XX on
[bluetoothctl]> Changing wake on succeeded
[bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: yes
[bluetoothctl]> wake XX:XX:XX:XX:XX:XX |
Luiz Augusto von Dentz |
1 year ago |
1 file, +38, -0 |
| c2caa26a |
obexctl: Enable Map folderlisting operation from obexctl
This change is required for passing below PTS testcase -
1) MAP/MCE/MMB/BV-01-C
Verify that the MCE can retrieve a Folders Listing on the MSE.
As of now, user is able to initiate only map messagelisting
operation with command 'ls <folder_name>' and there is no way to initiate
folder listing with 'ls' command as second argument <options> is
set as compulsary.
In the obexctl code, map folderlisting gets triggered only when there is no
arguments followed by 'ls' command.
Therefore in 'ls' command, make the second argument as optional.
This change will also enable pbap vcard listing operation which also
gets triggered with 'ls' command with no args. |
Amisha Jain |
1 year ago |
1 file, +1, -1 |
| ead7f402 |
bap: Do not allow BIS QoS mismatch
For Broadcast Source streams, QoS parameters are used for configuring
the PA and BIG. All parameters provided to the LE Create BIG command
are the same for all BISes (Core v5.3, vol.4, part E, page 2573).
Likewise, since the PA train is associated with the BIG, it is unique
for all included BISes. Thus, a stream should not be configured if the
QoS parameters do not match the global BIG configuration.
This commit adds a QoS check before a new stream is configured, to make
sure that all streams share the same settings. |
Iulia Tanasescu |
1 year ago |
1 file, +86, -0 |
| bd2f851b |
client/player: Make QoS sync_factor configurable
This adds a new user input prompt when configuring a Broadcast Source
endpoint, to configure a QoS sync_factor value. This is useful for the
user to adjust how frequent PA announcements should be sent by the
Source, depending on scenario, instead of always using a hardcoded
value.
[bluetooth]# endpoint.config /org/bluez/hci0/pac_bcast0
/local/endpoint/ep0 16_2_1
[/local/endpoint/ep0] BIG (auto/value): 1
[/local/endpoint/ep0] Enter sync factor (value/auto): 2
[/local/endpoint/ep0] Enter channel location (value/no): 1
[/local/endpoint/ep0] Enter Metadata (value/no): no
The PA interval is chosen as the BIG SDU interval multiplied by
sync_factor:
< HCI Command: LE Set Periodic Advertising Parameters (0x08|0x003e)
Handle: 1
Min interval: 20.00 msec (0x0010)
Max interval: 20.00 msec (0x0010)
Properties: 0x0000
> HCI Event: Command Complete (0x0e)
LE Set Periodic Advertising Parameters (0x08|0x003e)
Status: Success (0x00)
< HCI Command: LE Create Broadcast Isochronous Group (0x08|0x0068)
Handle: 0x01
Advertising Handle: 0x01
Number of BIS: 1
SDU Interval: 10000 us (0x002710)
Maximum SDU size: 40
Maximum Latency: 10 ms (0x000a)
RTN: 0x02
PHY: LE 2M (0x02)
Packing: Sequential (0x00)
Framing: Unframed (0x00)
Encryption: 0x00
Broadcast Code[16]: 0102680553f1415aa265bbafc6ea03b8
> HCI Event: Command Status (0x0f)
LE Create Broadcast Isochronous Group (0x08|0x0068)
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e)
LE Broadcast Isochronous Group Complete (0x1b)
Status: Success (0x00)
Handle: 0x01
BIG Synchronization Delay: 912 us (0x000390)
Transport Latency: 912 us (0x000390)
PHY: LE 2M (0x02)
NSE: 3
BN: 1
PTO: 0
IRC: 3
Maximum PDU: 40
ISO Interval: 10.00 msec (0x0008)
Connection Handle #0: 6
This also updates the broadcast-source.bt script, to include a new
input value for sync_factor. |
Iulia Tanasescu |
1 year ago |
2 files, +28, -3 |
| 3db67f12 |
lib: Add BT_ISO_SYNC_FACTOR
This defines the default sync factor value to be used by ISO Broadcasters. |
Iulia Tanasescu |
1 year ago |
2 files, +13, -1 |
| ff07f10e |
sco-tester: Add test for BT_VOICE_TRANSPARENT_16BIT constant
This test checks that BT_VOICE_TRANSPARENT_16BIT voice settings can
be set and get using [set|get]sockopt(). |
Frédéric Danis |
1 year ago |
1 file, +28, -0 |
| 9b631e09 |
lib: Add constant for 16 bits transparent voice setting
Add 16 bits, 2s complement, transparent air coding format for mSBC.
Corresponding commit implements functionality on kernel side.
The voice setting is used by sco_connect() or sco_conn_defer_accept()
after being set by sco_sock_setsockopt().
The PCM part of the voice setting is used for offload mode through PCM
chipset port.
This commits add support for mSBC 16 bits offloading, i.e. audio data
not transported over HCI.
The BCM4349B1 supports 16 bits transparent data on its I2S port.
If BT_VOICE_TRANSPARENT is used when accepting a SCO connection, this
gives only garbage audio while using BT_VOICE_TRANSPARENT_16BIT gives
correct audio.
This has been tested with connection to iPhone 14 and Samsung S24. |
Frédéric Danis |
1 year ago |
1 file, +1, -0 |
| 92f3a3b1 |
mgmt-tester: Fix LL Privacy tests
Now that LL Privacy is triggered via Set Device Flags tests that used
the Set Experimental features needs to be fixed so they work as
intended. |
Luiz Augusto von Dentz |
1 year ago |
1 file, +399, -242 |
| 7e0fe7d5 |
monitor: Add support for Address Resoluton flag
This adds proper decoding for Address Resolution flag. |
Luiz Augusto von Dentz |
1 year ago |
1 file, +1, -0 |
| c9d70ca6 |
main.conf: Add LE.CentralAddressResolution option
This adds CentralAddressResolution option to LE group which controls the
GATT attribute of the same name using the new MGMT Device Flag with the
fallback to LL Privacy experimental UUID.
Fixes: https://github.com/bluez/bluez/issues/1028 |
Luiz Augusto von Dentz |
1 year ago |
8 files, +71, -4 |
| 40e5ebd0 |
tools/obexctl: Add support for system/session bus
Currently obexctl only uses session bus.
As obexd has been enabled support for both session and system bus.
Configuring obexctl to use session/system bus during the runtime
if the name is available over session or system bus. |
Damodar Reddy GangiReddy |
1 year ago |
1 file, +42, -7 |
| 6905331e |
client: Add bluetoothctl-hci.1 man page
This adds bluetoothctl-hci.rst which is then converted to
bluetoothctl-hci.1 using rst2man. |
Luiz Augusto von Dentz |
1 year ago |
2 files, +89, -2 |
| 5527c88b |
client: Add HCI submenu
This adds HCI submenu:
Menu hci:
Available commands:
-------------------
open <index> <chan=raw,user> Open HCI channel
cmd <opcode> [parameters...] Send HCI data
send <type=acl,sco,iso> <handle> [data...] Send HCI data
register <event> Register HCI event handler
unregister <event> Unregister HCI event handler
close Close HCI channel
Examples:
In order to open a user channel the controller needs to be power off
first:
bluetooth# power off
bluetooth# hci.open 0 user
HCI index 0 user channel opened
Then commands can be sent hci.cmd, so the following is sending HCI reset:
bluetooth# hci.cmd 0x0c03
HCI Command complete:
00
For sending data packets to specific handle hci.send can be used:
bluetooth# hci.send acl 0x0000 |
Luiz Augusto von Dentz |
1 year ago |
4 files, +350, -1 |
| 560dcd2e |
share/hci: Introduce bt_hci_send_data
This introduces bt_hci_send_data which can be used to send ACL, SCO or
ISO data packets to the underline HCI socket. |
Luiz Augusto von Dentz |
1 year ago |
2 files, +106, -9 |
| d1eb3704 |
bluetoothctl: Update documentation to use '>' as prompt end marker
This replaces the use of '#' with '>' as prompt end marker since the
former is used to describe comments on the script which might be
confused with prompt. |
Luiz Augusto von Dentz |
1 year ago |
11 files, +256, -256 |
| 5f0ec388 |
tools: Use '>' as prompt end marker
This replaces the use of '#' with '>' as prompt end marker since the
former is used to describe comments on the script which might be
confused with prompt. |
Luiz Augusto von Dentz |
1 year ago |
8 files, +13, -13 |
| b1fd4099 |
build: Leave config files writable for owner
This is needed for builds running as non-root users, so the build
process and any distribution tools can create/move/delete files in the
config directory without adjusting permissions separately. Limiting
writes from the running service needs to be done in the systemd unit
(already the case) or init script.
See also: https://lore.kernel.org/linux-bluetooth/4d1206df-598b-4a68-8655-74981b62ecca@gmx.de/T/
Reviewed-by: Bastien Nocera <hadess@hadess.net> |
Fiona Klute |
1 year ago |
1 file, +1, -1 |
| a979a33c |
monitor: Allow caching of temporary gatt_db
This fixes the problem of not being able to decode GATT traffic when
reading the traces from a file/offline, the gatt_db would be discarded
upon the first disconnection so it didn't work if the trace contains
multiple connections.
To fix this btmon would remember gatt_db discovered at runtime so even
when there multiple connections the same db would be used. |
Luiz Augusto von Dentz |
1 year ago |
3 files, +58, -7 |
| dbd6591b |
main.conf: Add GATT.ExportClaimedServices
This adds GATT.ExportClaimedService which can be used to allow access to
service under control of bluetoothd(1) since often times it should be
safe to allow read-only access as it shouldn't interfere with each
other, but this one step further and allow the systems to be configured
with read-write as well just in case some sort of workaround is needed,
or for debugging purposes.
Since this is now a proper system policy this removes the expections from
battery and deviceinfo introduced by 713f6f09f017
("profile: Add exception to battery profile for external access") and
0cef5a7996db ("deviceinfo: Enable external flag"). |
Luiz Augusto von Dentz |
1 year ago |
6 files, +77, -4 |
| 0d9f5f6a |
shared/gatt-db: Fix possible crash on gatt_db_clone
The following crash can happen if the original gatt_db has incomplete
service definitions since the attribute might still be discovering:
Invalid read of size 4
at 0x1E5A39: bt_uuid_len (uuid.h:289)
by 0x1E5A39: service_clone (gatt-db.c:284)
by 0x1D5EBB: queue_foreach (queue.c:207)
by 0x1E61CD: gatt_db_clone (gatt-db.c:329)
by 0x1C18F0: btd_device_set_gatt_db (device.c:7110)
by 0x1C9F96: foreach_rsi (set.c:295)
by 0x1D5EBB: queue_foreach (queue.c:207)
by 0x48EA91F: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.8000.3)
by 0x1CA2C8: btd_set_add_device (set.c:357)
by 0x1BB9AB: btd_device_add_set (device.c:2049)
by 0x17FF76: csip_ready (csip.c:243)
by 0x1FD5CC: csip_notify_ready (csip.c:546)
by 0x1FD5CC: csip_idle (csip.c:630)
by 0x1DE20C: idle_notify (gatt-client.c:171)
Address 0xc is not stack'd, malloc'd or (recently) free'd |
Luiz Augusto von Dentz |
1 year ago |
1 file, +3, -0 |
| 756d69fd |
iso-tester: Add test for ISO Broadcaster Receiver Defer Reconnect
This adds a test for a Broadcast Receiver terminating BIG sync and
re-establishing it, while keeping PA sync alive:
ISO Broadcaster Receiver Defer Reconnect - Success |
Iulia Tanasescu |
1 year ago |
1 file, +40, -1 |
| 7d84f84c |
btdev: Unlink local BIS before removing
This unlinks the local BISes from the remote ones before removing them
in the handler for the LE BIG Terminate Sync command, because, otherwise,
the remote BISes will also be removed. |
Iulia Tanasescu |
1 year ago |
1 file, +3, -0 |
| 25288324 |
plugin: Quiet start-up warnings
It's not an error for a plug-in not to start if the hardware doesn't
support it. Quiet the warnings that require specific hardware.
The messages will still appear in the debug output.
bluetoothd[896]: src/plugin.c:plugin_init() System does not support csip plugin
bluetoothd[896]: src/plugin.c:plugin_init() System does not support micp plugin
bluetoothd[896]: src/plugin.c:plugin_init() System does not support vcp plugin
bluetoothd[896]: src/plugin.c:plugin_init() System does not support mcp plugin
bluetoothd[896]: src/plugin.c:plugin_init() System does not support bass plugin
bluetoothd[896]: src/plugin.c:plugin_init() System does not support bap plugin |
Bastien Nocera |
1 year ago |
1 file, +1, -1 |
| fdcde2ce |
profiles/audio: Quiet plug-in warnings
A normal daemon start should not throw warnings on a system in the
default configuration. Quiet the plug-in warnings that require
experimental features to be enabled. They will still appear in the debug
output.
bluetoothd[896]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled |
Bastien Nocera |
1 year ago |
2 files, +2, -2 |
| d280c934 |
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
PTS sends an Unknown Control Message with only two bytes,
which is considered incorrect data. Therefore, add
responses to error control commands. |
Shuai Zhang |
1 year ago |
3 files, +16, -0 |
| 50149208 |
client/admin: Fix copyright notice
Fix copyright notice to use SPDX. |
Luiz Augusto von Dentz |
1 year ago |
2 files, +2, -20 |
| 385f0f35 |
advertising: Fix for broadcaster role
src/advertising.c
Include check for broadcast mode:
AD flags shall never be set for broadcast
Test steps:
From DUT, bluetoothctl go to menu advertise
advertise.secondary 1M/2M
advertise.name on
advertise broadcast |
Prathibha Madugonde |
1 year ago |
1 file, +6, -1 |
| e59a915d |
bap: Remove PA idle timer logic
This removes BAP support for long-lived PA sync (added for Scan Delegator
support), since it is now handled inside the BASS plugin. This also
removes the PA idle timer logic, since PA/BIG sync requests are now
ordered inside the kernel. |
Iulia Tanasescu |
1 year ago |
1 file, +81, -288 |
| e618932b |
bap: Remove API to probe device from BASS
This removes the BAP API to probe broadcasters from BASS, since BASS is
now directly adding the Broadcast Audio Announcement Service UUID to the
broadcaster device, and it will internally handle the probe. |
Iulia Tanasescu |
1 year ago |
2 files, +0, -17 |
| ac56526b |
bass: Rework Scan Delegator to handle BAP streams
This updates the Scan Delegator implementation to be handled internally in
BASS: The BASS Server is responsible to handle Write Commands for the Add
Source operation by creating long-lived PA sync, parsing the BASE,
creating and configuring BAP streams, as well as enabling them. |
Iulia Tanasescu |
1 year ago |
3 files, +297, -57 |
| 3babeefa |
bap: Make default PA sync QoS public
This make the default BAP QoS parameters for PA Create Sync public,
to be available to other plugins that might need to listen for
Broadcasters (like BASS). |
Iulia Tanasescu |
1 year ago |
2 files, +3, -1 |
| 66a83fde |
bap: Rework BASE parsing
This replaces the internal parse_base with bt_bap_parse_base from
shared/bap. A bis callback is added to handle parsed streams.
The Broadcast Assistant implementation in the BASS plugin is also
updated to use bap qos instead of iso qos, since the BISes are
now parsed along with bap qos structure. |
Iulia Tanasescu |
1 year ago |
3 files, +61, -178 |
| 8054693b |
bap: Add helpers to convert iso_qos to/from bap_qos
This adds public BAP helpers to convert iso_qos to bap_qos and reversed.
This is needed for the BASS plugin to handle the Scan Delegator (BASS
Server) role internally (to create/handle BAP streams when receiving the
Add Source command from a Broadcast Assistant). |
Iulia Tanasescu |
1 year ago |
2 files, +58, -40 |
| a0aee49d |
shared/bap: Add helper to parse BASE
This adds a shared/bap helper to parse BASE. Any plugin that wishes to
parse a BASE structure can call this helper and provide a callback to
process each BIS. |
Iulia Tanasescu |
1 year ago |
2 files, +135, -0 |
| 6f3111eb |
shared/gatt-helpers: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/gatt-helpers.c:1136:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1136 | return false;
| ^~~~~
src/shared/gatt-helpers.c:1250:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1250 | return false;
| ^~~~~
src/shared/gatt-helpers.c:1478:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1478 | return false;
| ^~~~~ |
Rudi Heitbaum |
1 year ago |
1 file, +3, -3 |
| 4d608268 |
shared/shell: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/shell.c:365:24: error: incompatible types when returning type '_Bool' but 'struct input *' was expected
365 | return false;
| ^~~~~ |
Rudi Heitbaum |
1 year ago |
1 file, +1, -1 |
| da5b5b0e |
shared/ad: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/ad.c:1090:24: error: incompatible types when returning type '_Bool' but 'const char *' was expected
1090 | return false;
| ^~~~~ |
Rudi Heitbaum |
1 year ago |
1 file, +1, -1 |