Hi Silviu, On Wed, Mar 13, 2024 at 1:03 PM Silviu Florian Barbulescu <silviu.barbulescu@xxxxxxx> wrote: > > This patch adds support for broadcast source to reconfigure a BIS. > endpoint.config command has a new prompt for broadcast source: > " This is a BIS Reconfiguration? (yes/no)" > Yes or y if a BIS reconfiguration is required > No or n if it is a new BIS configuration > "The BIS index is assigned in the order of the configuration > starting with 1" > "BIS Index (value):" a value representing the BIS index if this is a > BIS reconfiguration. > endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06 > endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1 > BIS Index for reconfiguration? (value(1-31)/no): 0 > [/local/endpoint/ep0] BIG (auto/value): 0 > [/local/endpoint/ep0] Enter channel location (value/no): 1 > [/local/endpoint/ep0] Enter Metadata (value/no): n > endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1 > [/local/endpoint/ep0] BIS Index for reconfiguration? (value(1-31)/no): 1 > [/local/endpoint/ep0] BIG (auto/value): 0 > [/local/endpoint/ep0] Enter channel location (value/no): 2 > [/local/endpoint/ep0] Enter Metadata (value/no): n > transport.show /org/bluez/hci0/pac_bcast0/fd0 to view the update > Transport /org/bluez/hci0/pac_bcast0/fd0 > > Configuration.Location: 0x00000002 > Configuration.Location: Front Right (0x00000002) > > > Silviu Florian Barbulescu (3): > player: Add reconfiguration prompt for broadcast source > transport: Add support to update the transport configuration > bap: Broadcast source reconfiguration support added > > client/player.c | 33 ++++++++++++++++- > profiles/audio/bap.c | 76 ++++++++++++++++++++++++++++++++++++++ > profiles/audio/transport.c | 27 +++++++++++++- > profiles/audio/transport.h | 1 + > src/shared/bap.c | 11 +++++- > 5 files changed, 144 insertions(+), 4 deletions(-) > > > base-commit: c9dddb642663b8bafe8998fef6132a2bb36d609d > -- > 2.39.2 Something's not quite right, although it seems it does update the configuration at D-Bus level: transport.show /org/bluez/hci0/pac_bcast0/fd0 Transport /org/bluez/hci0/pac_bcast0/fd0 UUID: 00001852-0000-1000-8000-00805f9b34fb Codec: 0x06 (6) Configuration.#0: len 0x02 type 0x01 Configuration.Sampling Frequency: 48 Khz (0x08) Configuration.#1: len 0x02 type 0x02 Configuration.Frame Duration: 10 ms (0x01) Configuration.#2: len 0x03 type 0x04 Configuration.Frame Length: 120 (0x0078) Configuration.#3: len 0x05 type 0x03 Configuration.Location: 0x00000001 Configuration.Location: Front Left (0x00000001) Device: /org/bluez/hci0 State: active Endpoint: /org/bluez/hci0/pac_bcast0 QoS.BIG: 0x00 (0) QoS.BIS: 0x01 (1) QoS.SyncFactor: 0x01 (1) QoS.Packing: 0x00 (0) QoS.Framing: 0x00 (0) QoS.BCode: 01 02 68 05 53 f1 41 5a a2 65 bb af c6 ea 03 b8 ..h.S.AZ.e...... QoS.Options: 0x00 (0) QoS.Skip: 0x0000 (0) QoS.SyncTimeout: 0x07d0 (2000) QoS.SyncType: 0x00 (0) QoS.MSE: 0x00 (0) QoS.Timeout: 0x07d0 (2000) QoS.Interval: 0x00002710 (10000) QoS.Latency: 0x0014 (20) QoS.SDU: 0x0078 (120) QoS.PHY: 0x02 (2) QoS.Retransmissions: 0x04 (4) Location: 0x00000000 (0) It doesn't do that at HCI level so it still uses the old configuration for some reason: < HCI Command: LE Set Periodic Advertising Data (0x08|0x003f) plen 41 #2839 [hci2] 16:00:16.948281 Handle: 1 Operation: Complete ext advertising data (0x03) Data length: 0x26 Service Data: Basic Audio Announcement (0x1851) Presetation Delay: 40000 Number of Subgroups: 1 Subgroup #0: Number of BIS(s): 1 Codec: LC3 (0x06) Codec Specific Configuration: #0: len 0x02 type 0x01 Codec Specific Configuration: Sampling Frequency: 16 Khz (0x03) Codec Specific Configuration: #1: len 0x02 type 0x02 Codec Specific Configuration: Frame Duration: 10 ms (0x01) Codec Specific Configuration: #2: len 0x03 type 0x04 Codec Specific Configuration: Frame Length: 40 (0x0028) Codec Specific Configuration: #3: len 0x05 type 0x03 Codec Specific Configuration: Location: 0x00000003 Codec Specific Configuration: Location: Front Left (0x00000001) Codec Specific Configuration: Location: Front Right (0x00000002) Metadata: #0: len 0x03 type 0x02 Metadata: Context: 0x0004 Metadata: Context Media (0x0004) BIS #0: Index: 1 Perhaps this is a kernel bug though, but it needs to be fixed anyway. -- Luiz Augusto von Dentz