All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ 0/3] Broadcast source reconfiguration support
@ 2024-03-08 16:52 Silviu Florian Barbulescu
  2024-03-08 16:52 ` [PATCH BlueZ 1/3] player: Add reconfiguration prompt for broadcast source Silviu Florian Barbulescu
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Silviu Florian Barbulescu @ 2024-03-08 16:52 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: mihai-octavian.urzica, silviu.barbulescu, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

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
This is a BIS Reconfiguration? (yes/no): n
[/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] This is a BIS Reconfiguration? (yes/no): y
The BIS index is assigned in the order of the configuration
starting with 1
[/local/endpoint/ep0] BIS Index (value): 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            | 46 ++++++++++++++++++++-
 profiles/audio/bap.c       | 85 ++++++++++++++++++++++++++++++++++++++
 profiles/audio/media.c     |  3 +-
 profiles/audio/transport.c | 23 +++++++++++
 profiles/audio/transport.h |  1 +
 src/shared/bap.c           |  9 +++-
 6 files changed, 163 insertions(+), 4 deletions(-)


base-commit: 19f8fcdc2084048bebe5bd9ea4fb97f7ece16df0
-- 
2.39.2


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH BlueZ v2 1/3] player: Add reconfiguration prompt for broadcast source
@ 2024-03-13 17:02 Silviu Florian Barbulescu
  2024-03-13 19:31 ` Broadcast source reconfiguration support bluez.test.bot
  0 siblings, 1 reply; 8+ messages in thread
From: Silviu Florian Barbulescu @ 2024-03-13 17:02 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: mihai-octavian.urzica, silviu.barbulescu, vlad.pruteanu,
	andrei.istodorescu, luiz.dentz, iulia.tanasescu

endpoint.config /org/bluez/hci0/pac_bcast0 /local/endpoint/ep0 48_4_1
[/local/endpoint/ep0] BIS Index for reconfiguration? (value(1-31)/no): n
[/local/endpoint/ep0] BIG (auto/value): 0
[/local/endpoint/ep0] Enter channel location (value/no): 1
[/local/endpoint/ep0] Enter Metadata (value/no): n
---
 client/player.c | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/client/player.c b/client/player.c
index a40bf66e3..688ad02ab 100644
--- a/client/player.c
+++ b/client/player.c
@@ -3809,6 +3809,35 @@ static void config_endpoint_iso_group(const char *input, void *user_data)
 	}
 }
 
+static void endpoint_is_reconfigure_cfg(const char *input, void *user_data)
+{
+	struct endpoint_config *cfg = user_data;
+	int value;
+	char *endptr = NULL;
+
+	if (!strcasecmp(input, "n") || !strcasecmp(input, "no")) {
+		cfg->ep->iso_stream = BT_ISO_QOS_STREAM_UNSET;
+		goto done;
+	} else {
+		value = strtol(input, &endptr, 0);
+
+		if (!endptr || *endptr != '\0' || value > UINT8_MAX) {
+			bt_shell_printf("Invalid argument: %s\n", input);
+			return bt_shell_noninteractive_quit(EXIT_FAILURE);
+		}
+
+		if (value == 0x0)
+			cfg->ep->iso_stream = BT_ISO_QOS_STREAM_UNSET;
+		else
+			cfg->ep->iso_stream = value;
+	}
+
+done:
+	bt_shell_prompt_input(cfg->ep->path,
+		"BIG (auto/value):",
+		config_endpoint_iso_group, cfg);
+}
+
 static void endpoint_set_config_bcast(struct endpoint_config *cfg)
 {
 	cfg->ep->bcode = g_new0(struct iovec, 1);
@@ -3835,8 +3864,8 @@ static void endpoint_set_config_bcast(struct endpoint_config *cfg)
 	}
 
 	bt_shell_prompt_input(cfg->ep->path,
-		"BIG (auto/value):",
-		config_endpoint_iso_group, cfg);
+		"BIS Index for reconfiguration? (value(1-31)/no):",
+		endpoint_is_reconfigure_cfg, cfg);
 }
 
 static void cmd_config_endpoint(int argc, char *argv[])
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-03-13 19:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-08 16:52 [PATCH BlueZ 0/3] Broadcast source reconfiguration support Silviu Florian Barbulescu
2024-03-08 16:52 ` [PATCH BlueZ 1/3] player: Add reconfiguration prompt for broadcast source Silviu Florian Barbulescu
2024-03-08 17:37   ` Luiz Augusto von Dentz
2024-03-08 19:33   ` Broadcast source reconfiguration support bluez.test.bot
2024-03-08 16:52 ` [PATCH BlueZ 2/3] transport: Add support to update the transport configuration Silviu Florian Barbulescu
2024-03-08 17:41   ` Luiz Augusto von Dentz
2024-03-08 16:52 ` [PATCH BlueZ 3/3] bap: Broadcast source reconfiguration support added Silviu Florian Barbulescu
  -- strict thread matches above, loose matches on Subject: below --
2024-03-13 17:02 [PATCH BlueZ v2 1/3] player: Add reconfiguration prompt for broadcast source Silviu Florian Barbulescu
2024-03-13 19:31 ` Broadcast source reconfiguration support bluez.test.bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.