diff --git a/profiles/audio/bass.c b/profiles/audio/bass.c
index 417b7b7..2d4a866 100644
--- a/profiles/audio/bass.c
+++ b/profiles/audio/bass.c
struct btd_device *device; /* Broadcast source device */
struct bass_data *data; /* BASS session with peer device */
uint8_t sgrp;
+ uint8_t sid;
uint8_t bis;
uint32_t bid;
struct bt_bap_qos qos;
params.addr_type = BT_BASS_ADDR_RANDOM;
bacpy(¶ms.addr, device_get_address(assistant->device));
+ params.sid = assistant->sid;
put_le24(assistant->bid, params.bid);
params.pa_sync = PA_SYNC_NO_PAST;
params.pa_interval = PA_INTERVAL_UNKNOWN;
static struct bass_assistant *assistant_new(struct btd_adapter *adapter,
struct btd_device *device, struct bass_data *data,
- uint8_t sgrp, uint8_t bis, struct bt_bap_qos *qos,
+ uint8_t sgrp, uint8_t sid, uint8_t bis, struct bt_bap_qos *qos,
struct iovec *meta, struct iovec *caps)
{
struct bass_assistant *assistant;
assistant->device = device;
assistant->data = data;
assistant->sgrp = sgrp;
+ assistant->sid = sid;
assistant->bis = bis;
assistant->qos = *qos;
ba2str(device_get_address(device), src_addr);
ba2str(device_get_address(data->device), dev_addr);
- assistant->path = g_strdup_printf("%s/src_%s/dev_%s/bis%d",
- adapter_get_path(adapter), src_addr, dev_addr, bis);
+ assistant->path = g_strdup_printf("%s/src_%s/dev_%s/sid%d/bis%d",
+ adapter_get_path(adapter), src_addr, dev_addr, sid, bis);
g_strdelimit(assistant->path, ":", '_');
DBG("%s data %p BIS %d", addr, data, bis);
assistant = assistant_new(adapter, device, data, sgrp,
- bis, qos, meta, caps);
+ sid, bis, qos, meta, caps);
if (g_dbus_register_interface(btd_get_dbus_connection(),
assistant->path,