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:
parent
38fb12f5ac
commit
c0cfe49a54
11 changed files with 174 additions and 23 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue