| 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 |