From ac44ef4d71e42251a06b61902f0ead9b06856860 Mon Sep 17 00:00:00 2001 From: Szymon Czapracki Date: Mon, 23 Sep 2024 14:29:45 +0200 Subject: [PATCH] nimble/audio: Add subgroups information for modify operation This commit adds subgroups info for modify source operation. Now metadata field can be handled in scan delegator during modify procedure. --- .../services/bass/include/services/bass/ble_audio_svc_bass.h | 4 ++++ nimble/host/audio/src/ble_audio_scan_delegator.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nimble/host/audio/services/bass/include/services/bass/ble_audio_svc_bass.h b/nimble/host/audio/services/bass/include/services/bass/ble_audio_svc_bass.h index 431ecb968..8a027c841 100644 --- a/nimble/host/audio/services/bass/include/services/bass/ble_audio_svc_bass.h +++ b/nimble/host/audio/services/bass/include/services/bass/ble_audio_svc_bass.h @@ -324,6 +324,10 @@ struct ble_svc_audio_bass_operation { /** Number of subgroups */ uint16_t num_subgroups; + /** Subgroup entries */ + struct ble_svc_audio_bass_subgroup + subgroups[BLE_SVC_AUDIO_BASS_SUB_NUM_MAX]; + /** BIS Synchronisation of subgroups */ uint32_t bis_sync[BLE_SVC_AUDIO_BASS_SUB_NUM_MAX]; } modify_source; diff --git a/nimble/host/audio/src/ble_audio_scan_delegator.c b/nimble/host/audio/src/ble_audio_scan_delegator.c index db580c639..7774e4dad 100644 --- a/nimble/host/audio/src/ble_audio_scan_delegator.c +++ b/nimble/host/audio/src/ble_audio_scan_delegator.c @@ -198,7 +198,8 @@ bass_modify_source_op_handler(struct ble_svc_audio_bass_operation *op, void *arg for (uint8_t i = 0; i < sync_opt->num_subgroups; i++) { sync_opt->subgroups[i].bis_sync = op->modify_source.bis_sync[i]; - /* FIXME: Missing metadata in Modify Source */ + sync_opt->subgroups[i].metadata_length = op->modify_source.subgroups[i].metadata_length; + sync_opt->subgroups[i].metadata = op->modify_source.subgroups[i].metadata; } action.type = BLE_AUDIO_SCAN_DELEGATOR_ACTION_SOURCE_MODIFY;