Bluetooth: Audio: Fix initial Broadcast source values

If the Broadcast ID is initially set to 0x000000,
which is valid, comparison logic on add of an
actual Broadcast ID of 0x000000 fails.

Likewise for SID.

Moving INVALID_BROADCAST_ID define to bap.h

Signed-off-by: Lars Knudsen <LAKD@demant.com>
This commit is contained in:
Lars Knudsen 2024-10-09 20:44:04 +02:00 committed by Henrik Brix Andersen
commit e0a262b33f
13 changed files with 33 additions and 42 deletions

View file

@ -762,7 +762,7 @@ static void test_broadcast_sink_create_inval(void)
return;
}
err = bt_bap_broadcast_sink_create(pa_sync, INVALID_BROADCAST_ID, &g_sink);
err = bt_bap_broadcast_sink_create(pa_sync, BT_BAP_INVALID_BROADCAST_ID, &g_sink);
if (err == 0) {
FAIL("bt_bap_broadcast_sink_create did not fail with invalid broadcast ID\n");
return;

View file

@ -103,7 +103,6 @@ static const uint8_t mock_iso_data[] = {
#define AD_SIZE 1
#define INVALID_BROADCAST_ID (BT_AUDIO_BROADCAST_ID_MAX + 1)
#define PA_SYNC_INTERVAL_TO_TIMEOUT_RATIO 20 /* Set the timeout relative to interval */
#define PA_SYNC_SKIP 5

View file

@ -183,7 +183,7 @@ static int reset(void)
k_sem_reset(&sem_pa_sync_lost);
k_sem_reset(&sem_data_received);
broadcast_id = INVALID_BROADCAST_ID;
broadcast_id = BT_BAP_INVALID_BROADCAST_ID;
bis_index_bitfield = 0U;
pbs_found = false;
@ -275,7 +275,7 @@ static bool scan_check_and_sync_broadcast(struct bt_data *data, void *user_data)
if (!bt_uuid_cmp(&adv_uuid.uuid, BT_UUID_BROADCAST_AUDIO)) {
/* Save broadcast_id */
if (broadcast_id == INVALID_BROADCAST_ID) {
if (broadcast_id == BT_BAP_INVALID_BROADCAST_ID) {
broadcast_id = sys_get_le24(data->data + BT_UUID_SIZE_16);
}
@ -292,7 +292,7 @@ static bool scan_check_and_sync_broadcast(struct bt_data *data, void *user_data)
pbs_found = true;
/* Continue parsing if Broadcast Audio Announcement Service was not found */
if (broadcast_id == INVALID_BROADCAST_ID) {
if (broadcast_id == BT_BAP_INVALID_BROADCAST_ID) {
return true;
}
@ -316,7 +316,7 @@ static void broadcast_scan_recv(const struct bt_le_scan_recv_info *info,
bt_data_parse(ad, scan_check_and_sync_broadcast, (void *)&broadcast_id);
if ((broadcast_id != INVALID_BROADCAST_ID) && pbs_found) {
if ((broadcast_id != BT_BAP_INVALID_BROADCAST_ID) && pbs_found) {
sync_broadcast_pa(info);
}
}