@@ -55,21 +55,14 @@ CREATE_FLAG(flag_pa_sync_lost);
5555CREATE_FLAG (flag_pa_request );
5656CREATE_FLAG (flag_bis_sync_requested );
5757CREATE_FLAG (flag_base_metadata_updated );
58+ CREATE_FLAG (flag_unicast_stream_configured );
5859
5960static struct bt_bap_broadcast_sink * g_broadcast_sink ;
6061static struct bt_le_scan_recv_info broadcaster_info ;
6162static bt_addr_le_t broadcaster_addr ;
6263static struct bt_le_per_adv_sync * pa_sync ;
6364static uint32_t broadcaster_broadcast_id ;
6465static struct audio_test_stream broadcast_sink_streams [CONFIG_BT_BAP_BROADCAST_SNK_STREAM_COUNT ];
65- static struct bt_le_ext_adv * ext_adv ;
66- static uint32_t requested_bis_sync ;
67- static const struct bt_bap_scan_delegator_recv_state * req_recv_state ;
68-
69- static const struct bt_audio_codec_cap codec_cap = BT_AUDIO_CODEC_CAP_LC3 (
70- BT_AUDIO_CODEC_CAP_FREQ_ANY , BT_AUDIO_CODEC_CAP_DURATION_ANY ,
71- BT_AUDIO_CODEC_CAP_CHAN_COUNT_SUPPORT (1 , 2 ), 30 , 240 , 2 ,
72- (BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | BT_AUDIO_CONTEXT_TYPE_MEDIA ));
7366
7467static const struct bt_audio_codec_qos_pref unicast_qos_pref =
7568 BT_AUDIO_CODEC_QOS_PREF (true, BT_GAP_LE_PHY_2M , 0u , 60u , 20000u , 40000u , 20000u , 40000u );
@@ -79,20 +72,13 @@ static bool auto_start_sink_streams;
7972static K_SEM_DEFINE (sem_broadcast_started , 0U , ARRAY_SIZE (broadcast_sink_streams )) ;
8073static K_SEM_DEFINE (sem_broadcast_stopped , 0U , ARRAY_SIZE (broadcast_sink_streams )) ;
8174
82- /* Create a mask for the maximum BIS we can sync to using the number of
83- * broadcast_sink_streams we have. We add an additional 1 since the bis indexes
84- * start from 1 and not 0.
85- */
86- static const uint32_t bis_index_mask = BIT_MASK (ARRAY_SIZE (broadcast_sink_streams ) + 1U );
8775static uint32_t bis_index_bitfield ;
8876
8977#define UNICAST_CHANNEL_COUNT_1 BIT(0)
9078
9179static struct bt_cap_stream unicast_streams [CONFIG_BT_ASCS_ASE_SNK_COUNT +
9280 CONFIG_BT_ASCS_ASE_SRC_COUNT ];
9381
94- CREATE_FLAG (flag_unicast_stream_configured );
95-
9682static bool subgroup_data_func_cb (struct bt_data * data , void * user_data )
9783{
9884 bool * stream_context_found = (bool * )user_data ;
@@ -153,6 +139,11 @@ static bool valid_subgroup_metadata_cb(const struct bt_bap_base_subgroup *subgro
153139static void base_recv_cb (struct bt_bap_broadcast_sink * sink , const struct bt_bap_base * base ,
154140 size_t base_size )
155141{
142+ /* Create a mask for the maximum BIS we can sync to using the number of
143+ * broadcast_sink_streams we have. We add an additional 1 since the bis indexes
144+ * start from 1 and not 0.
145+ */
146+ const uint32_t bis_index_mask = BIT_MASK (ARRAY_SIZE (broadcast_sink_streams ) + 1U );
156147 uint32_t base_bis_index_bitfield = 0U ;
157148 int ret ;
158149
@@ -384,10 +375,9 @@ static int pa_sync_req_cb(struct bt_conn *conn,
384375 }
385376
386377 printk ("Sync request\n" );
387- req_recv_state = recv_state ;
388378
389- bt_addr_le_copy (& broadcaster_addr , & req_recv_state -> addr );
390- broadcaster_info .sid = req_recv_state -> adv_sid ;
379+ bt_addr_le_copy (& broadcaster_addr , & recv_state -> addr );
380+ broadcaster_info .sid = recv_state -> adv_sid ;
391381 broadcaster_info .interval = pa_interval ;
392382
393383 SET_FLAG (flag_pa_request );
@@ -402,8 +392,6 @@ static int pa_sync_term_req_cb(struct bt_conn *conn,
402392 return - EALREADY ;
403393 }
404394
405- req_recv_state = recv_state ;
406-
407395 UNSET_FLAG (flag_pa_request );
408396
409397 return 0 ;
@@ -414,7 +402,6 @@ static int bis_sync_req_cb(struct bt_conn *conn,
414402 const uint32_t bis_sync_req [CONFIG_BT_BAP_BASS_MAX_SUBGROUPS ])
415403{
416404 /* We only care about a single subgroup in this test */
417- requested_bis_sync = bis_sync_req [0 ];
418405 broadcaster_broadcast_id = recv_state -> broadcast_id ;
419406 if (bis_sync_req [0 ] != 0 ) {
420407 SET_FLAG (flag_bis_sync_requested );
@@ -431,8 +418,6 @@ static void broadcast_code_cb(struct bt_conn *conn,
431418{
432419 printk ("Broadcast code received for %p\n" , recv_state );
433420
434- req_recv_state = recv_state ;
435-
436421 SET_FLAG (flag_broadcast_code );
437422}
438423
@@ -645,6 +630,7 @@ static int set_supported_contexts(void)
645630void test_start_adv (void )
646631{
647632 int err ;
633+ struct bt_le_ext_adv * ext_adv ;
648634
649635 /* Create a connectable non-scannable advertising set */
650636 err = bt_le_ext_adv_create (BT_LE_ADV_CONN_ONE_TIME , NULL , & ext_adv );
@@ -700,7 +686,10 @@ static void init(void)
700686 .sirk = { 0xcd , 0xcc , 0x72 , 0xdd , 0x86 , 0x8c , 0xcd , 0xce ,
701687 0x22 , 0xfd , 0xa1 , 0x21 , 0x09 , 0x7d , 0x7d , 0x45 },
702688 };
703-
689+ static const struct bt_audio_codec_cap codec_cap = BT_AUDIO_CODEC_CAP_LC3 (
690+ BT_AUDIO_CODEC_CAP_FREQ_ANY , BT_AUDIO_CODEC_CAP_DURATION_ANY ,
691+ BT_AUDIO_CODEC_CAP_CHAN_COUNT_SUPPORT (1 , 2 ), 30 , 240 , 2 ,
692+ (BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | BT_AUDIO_CONTEXT_TYPE_MEDIA ));
704693 int err ;
705694
706695 err = bt_enable (NULL );
0 commit comments