Subject: [PATCH BlueZ 0/1] Adjust SDU size based on the number of locations

Adjust the SDU size based on the number of locations/channels
that is being requested.

Tested with patch [BlueZ,1/1] Fix crash in iov_append_ltv function
applied

Waiting to connect to bluetoothd...
[bluetooth]# Agent registered
endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x065f9b34fb 0x06
[/local/endpoint/ep0] Auto Accept (yes/no): y
[/local/endpoint/ep0] Max Transports (auto/value): a
[/local/endpoint/ep0] Locations: 3
[/local/endpoint/ep0] Supported Context (value): 0
Capabilities:
03 01 ff 00 02 02 03 02 03 03 05 04 1a 00 f0 00 ................
Metadata:
[bluetooth]# [NEW] Endpoint /org/bluez/hci0/pac_bcast0
[bluetooth]# Endpoint /local/endpoint/ep0 registered
endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1
[/local/endpoint/ep0] BIG (auto/value): 0
[/local/endpoint/ep0] Enter channel location (value/no): 3
[/local/endpoint/ep0] Enter Metadata (value/no): n
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: 0x00000003
Configuration.Location: Front Left (0x00000001)
Configuration.Location: Front Right (0x00000002)
BIG 0x00
BIS 0x00
BCode:
01 02 68 05 53 f1 41 5a a2 65 bb af c6 ea 03 b8 ..h.S.AZ.e......
Framing 0x00
PresentationDelay 40000
Interval 10000
PHY 0x02
SDU 240
Retransmissions 4
Latency 20
[bluetooth]# [NEW] Transport /org/bluez/hci0/pac_bcast0/fd0
[bluetooth]# Endpoint: SetConfiguration
[bluetooth]# Transport /org/bluez/hci0/pac_bcast0/fd0
[bluetooth]# Properties.Device: /org/bluez/hci0
[bluetooth]# Auto Accepting...
[bluetooth]# Endpoint /local/endpoint/ep0 configured
transport.acquire /org/bluez/hci0/pac_bcast0/fd0 c_bcast0/fd0
auto acquiring...
Transport /org/bluez/hci0/pac_bcast0/fd0 acquiring
[bluetooth]# Endpoint: SetConfiguration
[bluetooth]# Transport /org/bluez/hci0/pac_bcast0/fd0
[bluetooth]# Properties.Device: /org/bluez/hci0
[bluetooth]# Auto Accepting...
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.BIG: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.BIS: 0x01 (1)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.SyncFactor: 0x01 (1)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Packing: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Framing: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.BCode:
01 02 68 05 53 f1 41 5a a2 65 bb af c6 ea 03 b8 ..h.S.AZ.e......
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Options: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Skip: 0x0000 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.SyncTimeout:
0x07d0 (2000)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.SyncType: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.MSE: 0x00 (0)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Timeout: 0x07d0 (2000)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Interval: 0x00002710
(10000)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Latency: 0x0014 (20)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.SDU: 0x00f0 (240)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.PHY: 0x02 (2)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 QoS.Retransmissions:
0x04 (4)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 Codec: 0x06 (6)
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 Configuration:
02 01 08 02 02 01 03 04 78 00 05 03 03 00 00 00 ........x.......
Transport /org/bluez/hci0/pac_bcast0/fd0 acquiring complete
Acquire successful: fd 8 MTU 0:240
[CHG] Transport /org/bluez/hci0/pac_bcast0/fd0 State: active

Silviu Florian Barbulescu (1):
player: Adjust SDU size based on the number of locations

client/player.c | 8 ++++++++
1 file changed, 8 insertions(+)


base-commit: b8ad3490a3507476844d6c6a87b2cb336f7d4eb9
--
2.39.2



Subject: [PATCH BlueZ 1/1] player: Adjust SDU size based on the number of locations

Adjust the SDU size based on the number of locations/channels
that is being requested.

---
client/player.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/client/player.c b/client/player.c
index ab33bfc46..7856be3b5 100644
--- a/client/player.c
+++ b/client/player.c
@@ -3574,6 +3574,7 @@ static void config_endpoint_channel_location(const char *input, void *user_data)
struct endpoint_config *cfg = user_data;
char *endptr = NULL;
uint32_t location;
+ uint8_t channels = 1;

if (!strcasecmp(input, "n") || !strcasecmp(input, "no"))
goto add_meta;
@@ -3590,6 +3591,13 @@ static void config_endpoint_channel_location(const char *input, void *user_data)
iov_append_ltv(&cfg->caps, LC3_CONFIG_CHAN_ALLOC_LEN,
LC3_CONFIG_CHAN_ALLOC, &location);

+ /* Adjust the SDU size based on the number of
+ * locations/channels that is being requested.
+ */
+ channels = __builtin_popcount(location);
+ if (channels > 1)
+ cfg->qos.bcast.io_qos.sdu *= channels;
+
add_meta:
/* Add metadata */
bt_shell_prompt_input(cfg->ep->path, "Enter Metadata (value/no):",
--
2.39.2


2024-03-21 17:47:55

by bluez.test.bot

[permalink] [raw]
Subject: RE: Adjust SDU size based on the number of locations

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=837099

---Test result---

Test Summary:
CheckPatch PASS 0.42 seconds
GitLint PASS 0.29 seconds
BuildEll PASS 23.81 seconds
BluezMake PASS 1576.90 seconds
MakeCheck PASS 13.59 seconds
MakeDistcheck PASS 174.09 seconds
CheckValgrind PASS 243.71 seconds
CheckSmatch PASS 344.82 seconds
bluezmakeextell PASS 116.88 seconds
IncrementalBuild PASS 1478.08 seconds
ScanBuild PASS 970.49 seconds



---
Regards,
Linux Bluetooth