Commits

Commit Message Author Age Changes
39467578 device: Fix Pair method not setting auto_connect Due to commit 507ba12483c3 ("profile: Remove probe_on_discover") disable_auto_connect may be set when a service is probed but the device is still temporary which is normally the result of service being discovered over advertisement rather than connection. To fix this the Device.Pair method needs to check if the disable_auto_connect flag has been set and then reset it set auto_connect which is similar to how Device.Connect works. Luiz Augusto von Dentz 1 year ago 1 file, +5, -0
2daddead shared/uhid: Fix unregistering UHID_START on bt_uhid_unregister_all uhid->start_id shall not be unregistered in case of bt_uhid_unregister_all as that is considerer a internal notification not under controller of the users. Luiz Augusto von Dentz 1 year ago 1 file, +11, -1
32a08116 att: Correctly handle negative return values in can_write_data Felix Qin 1 year ago 1 file, +1, -1
d6515f4c Revert "adapter: Fix link key address type for old kernels" This reverts commit 7ad5669402c9acff8e4cc808edc12a41df36654e since it no longer possible to have the wrong address type being loaded as they fix up in place when that happens. Luiz Augusto von Dentz 1 year ago 1 file, +15, -44
366a8c52 adapter: Fix up address type when loading keys Due to kernel change 59b047bc9808 ("Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE") some keys maybe store using the wrong/invalid address type as per MGMT API, so this attempts to fix them up. Fixes: https://github.com/bluez/bluez/issues/875 Luiz Augusto von Dentz 1 year ago 1 file, +18, -2
4ed7060c test-uhid: Fix attempting to run when bt_uhid is NULL When running under root there is a possibility the bt_uhid_new_default doesn't work (e.g. fakeroot) in which case the test shall be aborted since it is likely a device specific test case which would require proper permissions to run. Luiz Augusto von Dentz 1 year ago 1 file, +10, -1
a6ac17f0 a2dp: Fix connection error message When trying to connect to a phone which has removed the pairing, the DBus error message is: - if A2DP only is supported: br-connection-key-missing (EBADE) - if HFP only is supported: br-connection-refused (ECONNREFUSED) - if both are supported: br-connection-unknown, while the trace shows ECONNREFUSED in avdtp_connect_cb() This patch allows to return the correct error message. Frédéric Danis 1 year ago 1 file, +1, -0
9746e59d bluetoothctl-endpoint.1: Update documentation This updates the documentation for endpoint.presets command and also add some examples of how to enter extra capabilities/configuration and how to setup custom presets. Luiz Augusto von Dentz 1 year ago 1 file, +70, -2
2f3f6346 client: Add bluetoothctl-assistant.1 man page This adds bluetoothctl-assistant.rst which is then converted to bluetoothctl-assistant.1 using rst2man. Iulia Tanasescu 1 year ago 3 files, +72, -2
d5c68dbe hog-lib: Add logging when bt_uhid_new fails If bt_uhid_new fails there is likely a problem with uHID module or bluetoothd don't have previleges to access /dev/uhid. Luiz Augusto von Dentz 1 year ago 1 file, +13, -7
1cc3cf08 hog-lib: Fix calling bt_uhid_destroy with invalid instance If the hog->uhid cannot be created then it is pointless to call bt_uhid_destroy as it will likely just produce bogus output as in: https://github.com/bluez/bluez/issues/529#issuecomment-2297350805 Luiz Augusto von Dentz 1 year ago 1 file, +5, -3
168ea307 client/player: Print endpoint preset with endpoint.presets If just the endpoint objects is passed to endpoint.presets then just print it instead of the listing the presets available for the UUID: [bluetooth]# endpoint.presets /local/endpoint/ep2 Preset 32_1_1 Configuration.#0: len 0x02 type 0x01 Configuration.Sampling Frequency: 32 Khz (0x06) Configuration.#1: len 0x02 type 0x02 Configuration.Frame Duration: 7.5 ms (0x00) Configuration.#2: len 0x03 type 0x04 Configuration.Frame Length: 60 (0x003c) Luiz Augusto von Dentz 1 year ago 1 file, +3, -1
c909433e client/player: Make endpoint.show print local preset This makes command endpoint.show print preset set with endpoint.presets: >endpoint.show /local/endpoint/ep2 Endpoint /local/endpoint/ep2 UUID 00002bc9-0000-1000-8000-00805f9b34fb Codec 0x06 (6) Capabilities.#0: len 0x03 type 0x01 Capabilities.Sampling Frequencies: 0x00ff Capabilities.Sampling Frequency: 8 Khz (0x0001) Capabilities.Sampling Frequency: 11.25 Khz (0x0002) Capabilities.Sampling Frequency: 16 Khz (0x0004) Capabilities.Sampling Frequency: 22.05 Khz (0x0008) Capabilities.Sampling Frequency: 24 Khz (0x0010) Capabilities.Sampling Frequency: 32 Khz (0x0020) Capabilities.Sampling Frequency: 44.1 Khz (0x0040) Capabilities.Sampling Frequency: 48 Khz (0x0080) Capabilities.#1: len 0x02 type 0x02 Capabilities.Frame Duration: 0x03 Capabilities.Frame Duration: 7.5 ms (0x01) Capabilities.Frame Duration: 10 ms (0x02) Capabilities.#2: len 0x05 type 0x04 Capabilities.Frame Length: 26 (0x001a) - 240 (0x00f0) Capabilities.#3: len 0x02 type 0x03 Capabilities.Audio Channel Count: 0x01 Capabilities.Audio Channel Count: 1 channel (0x01) Preset 32_1_1 Configuration.#0: len 0x02 type 0x01 Configuration.Sampling Frequency: 32 Khz (0x06) Configuration.#1: len 0x02 type 0x02 Configuration.Frame Duration: 7.5 ms (0x00) Configuration.#2: len 0x03 type 0x04 Configuration.Frame Length: 60 (0x003c) Locations 0x00000002 (2) Luiz Augusto von Dentz 1 year ago 1 file, +13, -0
a59529d3 client/player: Make endpoint.presets accept endpoint object This makes endpoint.presets accept local endpoints rather than just UUIDs: [bluetooth]# endpoint.presets /local/endpoint/ep0 32_1_1 Luiz Augusto von Dentz 1 year ago 1 file, +42, -17
b35d0a45 client/player: Add support for entering metadata via endpoint.presets Luiz Augusto von Dentz 1 year ago 1 file, +38, -8
29d45408 Monitor: Complete missing fields in ESco Connection This implements the missing fields in the ESCO connection setup and accept commands. Yun-Hao Chung 1 year ago 1 file, +92, -6
93913329 adapter: Create devices if they are connectable Rather than just depend on discoverable also check if the device is considered connectable since upper layers shall now be able to use AdvertisingFlags to detect when a device shall be considered visible or not and bluetoothctl has been using it since commit 815f779aa8e4 ("client: Use AdvertisingFlags when available"). Luiz Augusto von Dentz 1 year ago 1 file, +1, -1
c315b42e device: Promote Device.{AdvertisingData, AdvertisingFlags} to stable This promotes AdvertisingData and AdvertisingFlags to stable so they can be used by upper layers without having to enable experimental. Luiz Augusto von Dentz 1 year ago 2 files, +6, -8
3b7f4b4d test-uhid: Add support for device specific testing This enables device specific testing and switch to run bt_uhid_new_default when running as root so the actual kernel driver is used: input: MX Anywhere 3 as /devices/virtual/misc/uhid/0005:046D:B025.0031/input/input86 logitech-hidpp-device 0005:046D:B025.0031: input,hidraw10: BLUETOOTH HID v0.14 Mouse [MX Anywhere 3] on 00:00:00:00:00:00 Luiz Augusto von Dentz 1 year ago 1 file, +66, -4
537e399a android/avdtp: fix leak in avdtp_new() It is necessary to close the file descriptor in case of an error. Found with the SVACE static analysis tool. Roman Smirnov 1 year ago 1 file, +3, -1
19ff9ab9 android/avctp: remove check in session_browsing_cb() session->browsing is dereferenced at the beginning of the function, so the check can be removed. Found with the SVACE static analysis tool. Roman Smirnov 1 year ago 1 file, +2, -4
b752f760 tools/rctest: add NULL checks to main() It is necessary to prevent dereferencing of a NULL pointer. Found with the SVACE static analysis tool. Roman Smirnov 1 year ago 1 file, +23, -7
a13638e6 shared/uhid: Fix not cleanup input queue on destroy The input queue shall be cleanup on bt_uhid_destroy since that shall not be carried to the next session even if the input node is not destroyed. Luiz Augusto von Dentz 1 year ago 1 file, +4, -0
ee39d01f shared/uhid: Fix registering UHID_START multiple times UHID_START callback shall only be registered once otherwise there is a risk of processing input queue multiple times. Luiz Augusto von Dentz 1 year ago 2 files, +13, -4
52368094 org.bluez.GattCharacteristic: Add missing link option to ReadValue Just like GattDescriptor.ReadValue characteristics also support link option which indicates in what bearer the operation is taken place. Luiz Augusto von Dentz 1 year ago 1 file, +9, -0
40621e26 shared/shell: Add support for running script command as part of script This allows running script command as part of another script. Luiz Augusto von Dentz 1 year ago 1 file, +62, -32
66044ecd shared/shell: Add support for comments on scripts This adds support for entering comments onscripts by starting the line '#'. Luiz Augusto von Dentz 1 year ago 1 file, +6, -1
e1aa24a4 assistant: Implement MediaAssistant Push command This implements the MediaAssistant "Push" command, to trigger the BlueZ Broadcast Assistant to send stream information to the peer. After issuing the "Push" command, the user is prompted to enter any stream metadata to be sent to the peer. If the "auto" value is chosen, the default metadata found in the BASE will be sent. Otherwise, the LTVs found in the BASE will be overwritten by the user input. If the stream is encrypted, the user is also prompted to enter the Broadcast Code for decrypting. If the "auto" value is chosen, a zero filled array will be provided over DBus. Below is a bluetoothctl log to exercise the "Push" command for an unencrypted stream: client/bluetoothctl [bluetooth]# [CHG] Controller 00:60:37:31:7E:3F Pairable: yes [bluetooth]# AdvertisementMonitor path registered [bluetooth]# scan on [bluetooth]# [NEW] Device 00:60:37:31:7E:3F 00-60-37-31-7E-3F [bluetooth]# connect 00:60:37:31:7E:3F Attempting to connect to 00:60:37:31:7E:3F [CHG] Device 00:60:37:31:7E:3F Connected: yes [00-60-37-31-7E-3F]# Connection successful [00-60-37-31-7E-3F]# [NEW] Device 15:19:44:63:76:7A 15-19-44-63-76-7A [00-60-37-31-7E-3F]# [NEW] Assistant /org/bluez/hci0/src_15_19_44_63_76_7A/dev_00_60_37_31_7E_3F/bis1 [00-60-37-31-7E-3F]# assistant.push /org/bluez/hci0/src_15_19_44_63_76_7A/dev_00_60_37_31_7E_3F/bis1 [Assistant] Enter Metadata (auto/value): 0x03 0x02 0x04 0x00 [00-60-37-31-7E-3F]# [CHG] Assistant /org/bluez/hci0/src_15_19_44_63_76_7A/dev_00_60_37_31_7E_3F/bis1 State: pending [00-60-37-31-7E-3F]# Assistant /org/bluez/hci0/src_15_19_44_63_76_7A/dev_00_60_37_31_7E_3F/bis1 pushed [00-60-37-31-7E-3F]# [CHG] Assistant /org/bluez/hci0/src_15_19_44_63_76_7A/dev_00_60_37_31_7E_3F/bis1 State: active The btmon log below shows the GATT write command sent by the Assistant and the GATT notification received from the peer: < ACL Data TX: Handle 0 flags 0x00 dlen 32 ATT: Write Command (0x52) len 27 Handle: 0x0040 Type: Broadcast Audio Scan Control Point (0x2bc7) Data[25]: 02017a766344191500c21a3702ffff01010000000403020400 Opcode: Add Source (0x02) Source_Address_Type: 1 Source_Address: 15:19:44:63:76:7A Source_Adv_SID: 0 Broadcast_ID: 0x371ac2 PA_Sync_State: Synchronize to PA - PAST not available PA_Interval: 0xffff Num_Subgroups: 1 Subgroup #0: BIS_Sync State: 0x00000001 Metadata: #0: len 0x03 type 0x02 Metadata: 04 00 > ACL Data RX: Handle 0 flags 0x01 dlen 6 ATT: Handle Multiple Value Notification (0x23) len 28 Length: 0x0018 Handle: 0x003a Type: Broadcast Receive State (0x2bc8) Data[24]: 01017a766344191500c21a37020001010000000403020400 Source_ID: 1 Source_Address_Type: 1 Source_Address: 15:19:44:63:76:7A Source_Adv_SID: 0 Broadcast_ID: 0x371ac2 PA_Sync_State: Synchronized to PA BIG_Encryption: Not encrypted Num_Subgroups: 1 Subgroup #0: BIS_Sync State: 0x00000001 Metadata: #0: len 0x03 type 0x02 Metadata: 04 00 The bluetoothctl log below shows the "Push" command flow for an encrypted stream: client/bluetoothctl [bluetooth]# [CHG] Controller 00:60:37:31:7E:3F Pairable: yes [bluetooth]# AdvertisementMonitor path registered [bluetooth]# scan on [bluetooth]# [NEW] Device 00:60:37:31:7E:3F 00-60-37-31-7E-3F [bluetooth]# connect 00:60:37:31:7E:3F Attempting to connect to 00:60:37:31:7E:3F [CHG] Device 00:60:37:31:7E:3F Connected: yes [00-60-37-31-7E-3F]# Connection successful [00-60-37-31-7E-3F]# [NEW] Device 05:1F:EE:F3:F8:7D 05-1F-EE-F3-F8-7D [00-60-37-31-7E-3F]# [NEW] Assistant /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 [00-60-37-31-7E-3F]# assistant.push /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 [Assistant] Enter Metadata (auto/value): 0x03 0x02 0x04 0x00 [Assistant] Enter Broadcast Code (auto/value): 0x01 0x02 0x68 0x05 0x53 0xf1 0x41 0x5a 0xa2 0x65 0xbb 0xaf 0xc6 0xea 0x03 0xb8 [00-60-37-31-7E-3F]# [CHG] Assistant /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 State: pending [00-60-37-31-7E-3F]# Assistant /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 pushed [00-60-37-31-7E-3F]# [CHG] Assistant /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 State: requesting [00-60-37-31-7E-3F]# [CHG] Assistant /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1 State: active The GATT write commands and notifications for this scenario are shown in the btmon log below: < ACL Data TX: Handle 0 flags 0x00 dlen 32 ATT: Write Command (0x52) len 27 Handle: 0x0040 Type: Broadcast Audio Scan Control Point (0x2bc7) Data[25]: 02017df8f3ee1f0500f4015d02ffff01010000000403020400 Opcode: Add Source (0x02) Source_Address_Type: 1 Source_Address: 05:1F:EE:F3:F8:7D Source_Adv_SID: 0 Broadcast_ID: 0x5d01f4 PA_Sync_State: Synchronize to PA - PAST not available PA_Interval: 0xffff Num_Subgroups: 1 Subgroup #0: BIS_Sync State: 0x00000001 Metadata: #0: len 0x03 type 0x02 Metadata: 04 00 > ACL Data RX: Handle 0 flags 0x01 dlen 6 ATT: Handle Multiple Value Notification (0x23) len 28 Length: 0x0018 Handle: 0x003a Type: Broadcast Receive State (0x2bc8) Data[24]: 01017df8f3ee1f0500f4015d020101000000000403020400 Source_ID: 1 Source_Address_Type: 1 Source_Address: 05:1F:EE:F3:F8:7D Source_Adv_SID: 0 Broadcast_ID: 0x5d01f4 PA_Sync_State: Synchronized to PA BIG_Encryption: Broadcast_Code required Num_Subgroups: 1 Subgroup #0: BIS_Sync State: 0x00000000 Metadata: #0: len 0x03 type 0x02 Metadata: 04 00 < ACL Data TX: Handle 0 flags 0x00 dlen 25 ATT: Write Command (0x52) len 20 Handle: 0x0040 Type: Broadcast Audio Scan Control Point (0x2bc7) Data[18]: 04010102680553f1415aa265bbafc6ea03b8 Opcode: Set Broadcast_Code (0x04) Source_ID: 1 Broadcast_Code[16]: 0102680553f1415aa265bbafc6ea03b8 > ACL Data RX: Handle 0 flags 0x01 dlen 6 ATT: Handle Multiple Value Notification (0x23) len 28 Length: 0x0018 Handle: 0x003a Type: Broadcast Receive State (0x2bc8) Data[24]: 01017df8f3ee1f0500f4015d020201010000000403020400 Source_ID: 1 Source_Address_Type: 1 Source_Address: 05:1F:EE:F3:F8:7D Source_Adv_SID: 0 Broadcast_ID: 0x5d01f4 PA_Sync_State: Synchronized to PA BIG_Encryption: Decrypting Num_Subgroups: 1 Subgroup #0: BIS_Sync State: 0x00000001 Metadata: #0: len 0x03 type 0x02 Metadata: 04 00 Iulia Tanasescu 1 year ago 1 file, +247, -0
117b993f bass: Implement MediaAssistant Push method This implements the MediaAssistant "Push" method, which sends a GATT write command for the Broadcast Audio Scan Control Point characteristic with the "Add Source" opcode. This also registers a callback with shared/bass, to handle GATT notifications from the peer. A MediaAssistant object transitions to different states, depending on information received in the callback. The callback is also useful to check if the peer requires a Broadcast Code to decrypt the stream - in this case, the Assistant uses the "Set Broadcast_Code" operation to provide the code. Iulia Tanasescu 1 year ago 1 file, +295, -0
15811387 shared/bass: Add additional defines This adds BASS macros for Broadcast Source address types and for the unknown PA interval value. These values are to be used as parameters for the "Add Source" command. Iulia Tanasescu 1 year ago 1 file, +5, -0
fc9c4f23 shared/bass: Add APIs to register bcast src changed cb A BAP Broadcast Assistant (BASS Client) needs to listen for GATT notifications for Broadcast Receive State characteristics from peer Scan Delegators (BASS Servers), in order to learn about updates in Broadcasters known by the peer - for example, the Assistant can be informed if the peer requires a Broadcast Code to decrypt an encrypted stream. This adds APIs that the BASS plugin can use to register/unregister callbacks to be called on each received notification. Iulia Tanasescu 1 year ago 2 files, +100, -0
a426c361 bass: Store Broadcast ID inside assistant struct A Broadcast Source is uniquely identified by its Broadcast ID, which is being advertised in the Extended Advertising Data. After discovering a Broadcast Source, a BAP Broadcast Assistant needs to internally store the Broadcast ID, which will be transmitted to the peer Scan Delegator via the BASS "Add Source" operation. Iulia Tanasescu 1 year ago 1 file, +21, -1
11fce8b0 device: Add support to iterate through service data Some usecases require iterating through the service data structures advertised by a scanned device - for example, a Broadcast Source advertises the Broadcast Audio Announcement Service UUID, with the Broadcast ID as service data. The Broadcast ID is used by audio profiles to uniquely identify the Broadcast Source. This adds an API to iterate through the service data advertised by a device. Iulia Tanasescu 1 year ago 2 files, +11, -2
a626ae16 shared/bass: Add API to send GATT write command This adds a BASS API to send a GATT write command for the Broadcast Audio Scan Control Point characteristic. Iulia Tanasescu 1 year ago 2 files, +41, -2
100c845b shared/bap: Fix overwriting sink attribute When allocating the sink and sink_ccc attribute they were being overwriten by source and source_ccc attributes. Luiz Augusto von Dentz 1 year ago 1 file, +2, -2
99810450 bap: Fix not setting metatada Fix not using bt_bap_stream_metadata when configuring a new stream as the endpoint/client may have set it. Luiz Augusto von Dentz 1 year ago 1 file, +4, -0
fe703a00 shared/bap: Fix not setting metadata bt_bap_stream_metatada shall not send Update Metadata if the states don't allow it, instead it shall store it so it can be send later when enabling the stream. Luiz Augusto von Dentz 1 year ago 1 file, +11, -2
8a708aa5 monitor: Fix crash parsing notification This fixes the following crash caused by notify callback being NULL: Jump to the invalid address stated on the next line at 0x0: ??? by 0x1E8375: print_notify (att.c:5420) by 0x1E9464: att_multiple_vl_rsp (att.c:5463) by 0x20D39E: att_packet (att.c:5637) by 0x1B2054: l2cap_frame (l2cap.c:2567) by 0x1B4A4D: l2cap_packet (l2cap.c:2708) by 0x19AD43: packet_hci_acldata (packet.c:12522) by 0x19CF07: packet_monitor (packet.c:4249) by 0x152405: data_callback (control.c:973) by 0x2204F6: mainloop_run (mainloop.c:106) by 0x221017: mainloop_run_with_signal (mainloop-notify.c:189) by 0x14F387: main (main.c:298) Address 0x0 is not stack'd, malloc'd or (recently) free'd Luiz Augusto von Dentz 1 year ago 1 file, +2, -1
720e8ec9 client/gatt: Set handle before calling print functions The print functions (print_service, print_chrc and print_desc) all print the handle, but the handle is never set in the struct object. This results in the handle always printing as 0x0000. Set the handle before calling the print function. Alexander Ganslandt 1 year ago 1 file, +21, -0
82741663 client/player: Expose transport 'Unselect' method to the user This exposes the 'Unselect' method for Broadcast transports. This allows the user to terminate the sync to a specific BIS, via a 2 step process. The first step is the call to this method, which changes the transport's state to idle, with the second step being done by the audio server which detects this change and releases the transport. Vlad Pruteanu 1 year ago 1 file, +48, -0
6ee75c3e transport: Add 'Unselect' method This adds a new method, exclusive to transports created by the Broadcast Sink. It allows the user to terminate the sync to a BIS, via a 2 step process. The first step is the call to this method, which changes the transport's state to idle, with the second step being done by the audio server which detects this change and releases the transport. Vlad Pruteanu 1 year ago 1 file, +34, -7
c7e79fa8 doc/media: Add 'Unselect' method This adds the documentation for a new method, exclusive to transports created by the Broadcast Sink. It would allow the user to terminate the sync to a BIS, via a 2 step process. The first step is the call to this method, which changes the transport's state to idle, with the second step being done by the audio server which detects this change and releases the transport. Vlad Pruteanu 1 year ago 1 file, +14, -1
53a4078c transport: Broadcast sink: wait for user to select transport This changes the flow for transports created on broadcast sink side. Transports are not automatically changed to pending anymore, instead the user must first run transport.select on them which updates the state to 'broadcasting'. This allows for the selection of the desired stream when running the setup with PipeWire, which acquires any transport that is broadcasting. Vlad Pruteanu 1 year ago 1 file, +9, -6
61e16e3b client/player: Expose transport 'Select' method to the user This exposes the 'Select' method for Broadcast transports. This allows the user to select the desired stream when running the setup with PipeWire since it acquires any transport that is broadcasting. Vlad Pruteanu 1 year ago 1 file, +52, -0
083d1a7b transport: Add 'Select' method This adds the 'Select' method for Broadcast transports. It's role is to change the transport's state from idle to broadcasting. This allows the user to select the desired stream when running the setup with PipeWire since it acquires any transport that is broadcasting. Vlad Pruteanu 1 year ago 1 file, +24, -0
9357edb8 transport: Add 'broadcasting' state This adds a new state for transports created by the Broadcast Sink device as a result of scanning a Broadcast Source. Such transports will remain in the 'idle' state until the user selects them using 'transport.select', at which point they will be moved to 'broadcasting'. Vlad Pruteanu 1 year ago 1 file, +12, -2
d7b7f3a3 doc/media: Add 'broadcasting' state and 'Select' method This adds a new state for transports created by the Broadcast Sink. Such transports will remain in the 'idle' state until the user calls 'Select' on them, at which point they will be moved to 'broadcasting'. This allows the user to select the desired BIS as the audio server automatically acquires transports that are in this state. Vlad Pruteanu 1 year ago 1 file, +17, -1
549d3885 client/player: Fix not setting config target_latency with edpoint.config This fixes not setting target_latency with endpoint.config command. Luiz Augusto von Dentz 1 year ago 1 file, +4, -3
fcf39175 shared/bap: Fix bt_bap_select with multiple lpacs When there are multiple local PAC records of the same codec with different locations only the first was consider, also bt_bap_select would stop doing location matching early if the location don't match without considering there could be more remote channels. Luiz Augusto von Dentz 1 year ago 1 file, +26, -9
c2312ebe client/player: Add support to enter alternative preset This adds support for alternative preset to be entered so when auto accepting configuration a different preset can be selected following the order given to endpoint.presets. Luiz Augusto von Dentz 1 year ago 1 file, +101, -19
Previous Next