diff --git a/src/ble/gatt-service/audio_input_control_service_server.c b/src/ble/gatt-service/audio_input_control_service_server.c index cfcce8ddc..6209d4eca 100644 --- a/src/ble/gatt-service/audio_input_control_service_server.c +++ b/src/ble/gatt-service/audio_input_control_service_server.c @@ -94,7 +94,7 @@ static uint16_t aics_read_callback(hci_con_handle_t con_handle, uint16_t attribu if (attribute_handle == aics->audio_input_type_value_handle){ aics->con_handle = con_handle; - return att_read_callback_handle_blob((uint8_t *)aics->info.audio_input_type, strlen(aics->info.audio_input_type), offset, buffer, buffer_size); + return att_read_callback_handle_byte((uint8_t)aics->info.audio_input_type, offset, buffer, buffer_size); } if (attribute_handle == aics->audio_input_status_value_handle){ diff --git a/src/ble/gatt-service/audio_input_control_service_server.h b/src/ble/gatt-service/audio_input_control_service_server.h index c07cffe3f..917e645f9 100644 --- a/src/ble/gatt-service/audio_input_control_service_server.h +++ b/src/ble/gatt-service/audio_input_control_service_server.h @@ -91,6 +91,16 @@ typedef enum { AICS_AUDIO_INPUT_STATUS_ACTIVE } aics_audio_input_status_t; +typedef enum { + AICS_AUDIO_INPUT_TYPE_UNSPECIFIED = 0, + AICS_AUDIO_INPUT_TYPE_BLUETOOTH_AUDIO_STREAM, + AICS_AUDIO_INPUT_TYPE_MICROPHONE, + AICS_AUDIO_INPUT_TYPE_ANALOG_INTERFACE, + AICS_AUDIO_INPUT_TYPE_DIGITAL_INTERFACE, + AICS_AUDIO_INPUT_TYPE_RADIO, + AICS_AUDIO_INPUT_TYPE_STREAMING_AUDIO_SOURCE +} aics_audio_input_type_t; + typedef struct { int8_t gain_setting_db; aics_mute_mode_t mute_mode; @@ -107,7 +117,7 @@ typedef struct { aics_audio_input_state_t audio_input_state; aics_gain_settings_properties_t gain_settings_properties; - const char * audio_input_type; + aics_audio_input_type_t audio_input_type; const char * audio_input_description; btstack_packet_handler_t packet_handler;