I'm using nrf52840, v3.0.2, scanning BIG/BIS and printing out the BASE.
I first scan the extended broadcast with the label broadcast_id, and then establish synchronization: bt_le_per_adv_sync_create(&sync_create_param, &g_sync_state.sync); in the sync_cb of bt_le_per_adv_sync_cb, I then go to bt_bap_broadcast_sink_create(sync, g_sync_state.broadcast_id, &g_sync_state.sink); in the base_recv callback of bt_bap_broadcast_sink_cb, I parse the BASE content. After parsing, I do bt_le_per_adv_sync_recv_disable(g_sync_state.sync); In state_changed in bt_le_per_adv_sync_cb, call bt_bap_broadcast_sink_delete(g_sync_state.sink);bt_le_per_adv_sync_delete(g_sync_state.sync); and then repeat this process.
An error like <wrn> bt_bap_broadcast_sink: Failed to addsync as Receive State for sink 0x2000a218: -120 will appear.