Bluetooth: BASS: Add support for dynamic registration of BASS

Added support for dynamic registration and unregistration of the
Broadcast Audio Scan Service (BASS) within the scan delegator.
This enables both scan delegator and BASS to be registered or
unregistered dynamically at runtime.

Signed-off-by: Babak Arisian <bbaa@demant.com>
This commit is contained in:
Babak Arisian 2024-09-20 09:46:01 +02:00 committed by Anas Nashif
commit c0cfe49a54
11 changed files with 174 additions and 23 deletions

View file

@ -642,6 +642,12 @@ static int init(void)
return err;
}
err = bt_bap_scan_delegator_register(&scan_delegator_cbs);
if (err) {
FAIL("Scan delegator register failed (err %d)\n", err);
return err;
}
/* Test invalid input */
err = bt_bap_broadcast_sink_register_cb(NULL);
if (err == 0) {
@ -655,7 +661,6 @@ static int init(void)
return err;
}
bt_bap_scan_delegator_register_cb(&scan_delegator_cbs);
bt_le_per_adv_sync_cb_register(&bap_pa_sync_cb);
bt_le_scan_cb_register(&bap_scan_cb);

View file

@ -685,7 +685,12 @@ static int common_init(void)
printk("Bluetooth initialized\n");
bt_bap_scan_delegator_register_cb(&scan_delegator_cb);
err = bt_bap_scan_delegator_register(&scan_delegator_cb);
if (err) {
FAIL("Scan delegator register failed (err %d)\n", err);
return err;
}
bt_le_per_adv_sync_cb_register(&pa_sync_cb);
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);

View file

@ -774,10 +774,16 @@ static void init(void)
return;
}
err = bt_bap_scan_delegator_register(&scan_delegator_cbs);
if (err != 0) {
FAIL("Scan deligator register failed (err %d)\n", err);
return;
}
bt_bap_broadcast_sink_register_cb(&broadcast_sink_cbs);
bt_le_per_adv_sync_cb_register(&bap_pa_sync_cb);
bt_le_scan_cb_register(&bap_scan_cb);
bt_bap_scan_delegator_register_cb(&scan_delegator_cbs);
UNSET_FLAG(flag_broadcaster_found);
UNSET_FLAG(flag_broadcast_code);