Re: [PATCH BlueZ v2 0/3] Broadcast source reconfiguration support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux