From c0a12d378eb791b142e3adb94b3d33ddc3e8f964 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Mon, 26 Sep 2022 16:08:07 +0200 Subject: [PATCH] gatt-service: store bis_sync and bis_sync_state separately --- src/ble/gatt-service/broadcast_audio_scan_service_util.c | 2 +- src/ble/gatt-service/broadcast_audio_scan_service_util.h | 8 ++++++++ test/le_audio/le_audio_broadcast_assistant.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ble/gatt-service/broadcast_audio_scan_service_util.c b/src/ble/gatt-service/broadcast_audio_scan_service_util.c index 473b0eb29..b2d03771c 100644 --- a/src/ble/gatt-service/broadcast_audio_scan_service_util.c +++ b/src/ble/gatt-service/broadcast_audio_scan_service_util.c @@ -201,7 +201,7 @@ void bass_util_get_pa_info_and_subgroups_from_buffer(uint8_t *buffer, uint16_t b uint8_t i; for (i = 0; i < source_data->subgroups_num; i++){ // bis_sync - source_data->subgroups[i].bis_sync_state = little_endian_read_32(buffer, pos); + source_data->subgroups[i].bis_sync = little_endian_read_32(buffer, pos); pos += 4; uint8_t metadata_bytes_read = le_audio_metadata_parse_tlv(&buffer[pos], buffer_size - pos, &source_data->subgroups[i].metadata); diff --git a/src/ble/gatt-service/broadcast_audio_scan_service_util.h b/src/ble/gatt-service/broadcast_audio_scan_service_util.h index 83ec31872..3cff35c6f 100644 --- a/src/ble/gatt-service/broadcast_audio_scan_service_util.h +++ b/src/ble/gatt-service/broadcast_audio_scan_service_util.h @@ -73,6 +73,14 @@ typedef enum { } bass_role_t; typedef struct { + // BIS_Sync parameter + // 4-octet bitfield. Shall not exist if Num_Subgroups = 0 + // Bit 0-30 = BIS_index[1-31] 0x00000000: + // - 0b0 = Do not synchronize to BIS_index[x] 0xxxxxxxxx: + // - 0b1 = Synchronize to BIS_index[x] + // 0xFFFFFFFF: No preference + uint32_t bis_sync; + // 4-octet bitfield. Shall not exist if num_subgroups = 0 // Bit 0-30 = BIS_index[1-31] // 0x00000000: 0 = Not synchronized to BIS_index[x] diff --git a/test/le_audio/le_audio_broadcast_assistant.c b/test/le_audio/le_audio_broadcast_assistant.c index fef064d10..e7ac4c836 100644 --- a/test/le_audio/le_audio_broadcast_assistant.c +++ b/test/le_audio/le_audio_broadcast_assistant.c @@ -157,7 +157,7 @@ static void handle_periodic_advertisement(const uint8_t * packet, uint16_t size) for (i=0;i