diff --git a/src/btstack_lc3.c b/src/btstack_lc3.c index e237c5186..aa222ebb6 100644 --- a/src/btstack_lc3.c +++ b/src/btstack_lc3.c @@ -53,7 +53,6 @@ uint16_t btstack_lc3_frame_duration_in_us(btstack_lc3_frame_duration_t frame_dur case BTSTACK_LC3_FRAME_DURATION_10000US: return 10000; default: - btstack_assert(false); return 0; } } diff --git a/src/btstack_lc3.h b/src/btstack_lc3.h index 574d32425..07b8fddeb 100644 --- a/src/btstack_lc3.h +++ b/src/btstack_lc3.h @@ -64,21 +64,6 @@ typedef struct { */ uint8_t (*configure)(void * context, uint32_t sample_rate, btstack_lc3_frame_duration_t frame_duration, uint16_t octets_per_frame); - /** - * Get number of octets per LC3 frame for bitrate - * @param context - * @param bitrate - * @return octets_per_frame - */ - uint16_t (*get_number_octets_for_bitrate)(void * context, uint32_t bitrate); - - /** - * Get number of samples per LC3 frame - * @param context - * @return number of samples - */ - uint16_t (*get_number_samples_per_frame)(void * context); - /** * Decode LC3 Frame into signed 16-bit samples * @param context @@ -118,21 +103,6 @@ typedef struct { */ uint8_t (*configure)(void * context, uint32_t sample_rate, btstack_lc3_frame_duration_t frame_duration, uint16_t octets_per_frame); - /** - * Get bitrate from number of octets per LC3 frame - * @param context - * @param number_of_octets - * @return bitrate - */ - uint32_t (*get_bitrate_for_number_of_octets)(void * context, uint16_t number_of_octets); - - /** - * Get number of samples per LC3 frame - * @param context - * @return number of samples - */ - uint16_t (*get_number_samples_per_frame)(void * context); - /** * Encode LC3 Frame with 16-bit signed PCM samples * @param context @@ -158,7 +128,7 @@ typedef struct { /** * @brief Map enum to ISO Interval in us * @param frame_duration enum - * @return frame_duratoin in us + * @return frame_duratoin in us or 0 for invalid frame_duration enum */ uint16_t btstack_lc3_frame_duration_in_us(btstack_lc3_frame_duration_t frame_duration); diff --git a/src/btstack_lc3_google.c b/src/btstack_lc3_google.c index 521508335..e88591257 100644 --- a/src/btstack_lc3_google.c +++ b/src/btstack_lc3_google.c @@ -79,24 +79,6 @@ static uint8_t lc3_decoder_google_configure(void * context, uint32_t sample_rate return ERROR_CODE_SUCCESS; } -static uint16_t lc3_decoder_google_get_number_octets_for_bitrate(void * context, uint32_t bitrate){ - btstack_lc3_decoder_google_t * instance = (btstack_lc3_decoder_google_t *) context; - uint16_t duration_us = lc3_frame_duration_in_us(instance->frame_duration); - if (duration_us == 0){ - return 0; - } - return lc3_frame_bytes(duration_us, bitrate); -} - -static uint16_t lc3_decoder_google_get_number_samples_per_frame(void * context){ - btstack_lc3_decoder_google_t * instance = (btstack_lc3_decoder_google_t *) context; - uint16_t duration_us = lc3_frame_duration_in_us(instance->frame_duration); - if (duration_us == 0){ - return 0; - } - return lc3_frame_samples(duration_us, instance->sample_rate); -} - static uint8_t lc3_decoder_google_decode(void *context, const uint8_t *bytes, uint8_t BFI, enum lc3_pcm_format fmt, void *pcm_out, uint16_t stride, uint8_t *BEC_detect) { @@ -133,8 +115,6 @@ static uint8_t lc3_decoder_google_decode_signed_24(void * context, const uint8_t static const btstack_lc3_decoder_t btstack_l3c_decoder_google_instance = { lc3_decoder_google_configure, - lc3_decoder_google_get_number_octets_for_bitrate, - lc3_decoder_google_get_number_samples_per_frame, lc3_decoder_google_decode_signed_16, lc3_decoder_google_decode_signed_24 }; @@ -170,25 +150,6 @@ static uint8_t lc3_encoder_google_configure(void * context, uint32_t sample_rate return ERROR_CODE_SUCCESS; } -static uint32_t lc3_encoder_google_get_bitrate_for_number_of_octets(void * context, uint16_t number_of_octets){ - btstack_lc3_encoder_google_t * instance = (btstack_lc3_encoder_google_t *) context; - // map frame duration - uint16_t duration_us = lc3_frame_duration_in_us(instance->frame_duration); - if (duration_us == 0){ - return ERROR_CODE_INVALID_HCI_COMMAND_PARAMETERS; - } - return lc3_resolve_bitrate(duration_us, number_of_octets); -} - -static uint16_t lc3_encoder_google_get_number_samples_per_frame(void * context){ - btstack_lc3_encoder_google_t * instance = (btstack_lc3_encoder_google_t *) context; - // map frame duration - uint16_t duration_us = lc3_frame_duration_in_us(instance->frame_duration); - if (duration_us == 0){ - return ERROR_CODE_INVALID_HCI_COMMAND_PARAMETERS; - } - return lc3_frame_samples(duration_us, instance->sample_rate); -} static uint8_t lc3_encoder_google_encode_signed(void *context, enum lc3_pcm_format fmt, const void *pcm_in, uint16_t stride, uint8_t *bytes) { btstack_lc3_encoder_google_t * instance = (btstack_lc3_encoder_google_t *) context; @@ -211,8 +172,6 @@ static uint8_t lc3_encoder_google_encode_signed_24(void * context, const int32_t static const btstack_lc3_encoder_t btstack_l3c_encoder_google_instance = { lc3_encoder_google_configure, - lc3_encoder_google_get_bitrate_for_number_of_octets, - lc3_encoder_google_get_number_samples_per_frame, lc3_encoder_google_encode_signed_16, lc3_encoder_google_encode_signed_24 }; diff --git a/test/le_audio/btstack_lc3plus_fraunhofer.c b/test/le_audio/btstack_lc3plus_fraunhofer.c index f2c743914..215bb3b03 100644 --- a/test/le_audio/btstack_lc3plus_fraunhofer.c +++ b/test/le_audio/btstack_lc3plus_fraunhofer.c @@ -84,17 +84,6 @@ static uint8_t lc3plus_fraunhofer_decoder_configure(void * context, uint32_t sam return ERROR_CODE_SUCCESS; } -static uint16_t lc3plus_fraunhofer_decoder_get_number_octets_for_bitrate(void * context, uint32_t bitrate){ - btstack_assert(false); - return 0; -} - -static uint16_t lc3plus_fraunhofer_decoder_get_number_samples_per_frame(void * context){ - btstack_lc3plus_fraunhofer_decoder_t * instance = (btstack_lc3plus_fraunhofer_decoder_t *) context; - LC3PLUS_Dec * decoder = (LC3PLUS_Dec*) instance->decoder; - return lc3plus_dec_get_output_samples(decoder); -} - static uint8_t lc3plus_fraunhofer_decoder_decode_signed_16(void * context, const uint8_t *bytes, uint8_t BFI, int16_t* pcm_out, uint16_t stride, uint8_t * BEC_detect){ btstack_lc3plus_fraunhofer_decoder_t * instance = (btstack_lc3plus_fraunhofer_decoder_t *) context; LC3PLUS_Dec * decoder = (LC3PLUS_Dec*) instance->decoder; @@ -157,8 +146,6 @@ static uint8_t lc3plus_fraunhofer_decoder_decode_signed_24(void * context, const static const btstack_lc3_decoder_t btstack_l3cplus_fraunhofer_decoder_instance = { lc3plus_fraunhofer_decoder_configure, - lc3plus_fraunhofer_decoder_get_number_octets_for_bitrate, - lc3plus_fraunhofer_decoder_get_number_samples_per_frame, lc3plus_fraunhofer_decoder_decode_signed_16, lc3plus_fraunhofer_decoder_decode_signed_24 }; @@ -175,16 +162,6 @@ static uint8_t lc3plus_fraunhofer_encoder_configure(void * context, uint32_t sam return ERROR_CODE_COMMAND_DISALLOWED; } -static uint32_t lc3plus_fraunhofer_encoder_get_bitrate_for_number_of_octets(void * context, uint16_t number_of_octets){ - btstack_assert(false); - return 0; -} - -static uint16_t lc3plus_fraunhofer_encoder_get_number_samples_per_frame(void * context){ - btstack_assert(false); - return 0; -} - static uint8_t lc3plus_fraunhofer_encoder_encode_signed_16(void * context, const int16_t* pcm_in, uint16_t stride, uint8_t *bytes){ return ERROR_CODE_COMMAND_DISALLOWED; } @@ -195,8 +172,6 @@ static uint8_t lc3plus_fraunhofer_encoder_encode_signed_24(void * context, const static const btstack_lc3_encoder_t btstack_l3cplus_fraunhofer_encoder_instance = { lc3plus_fraunhofer_encoder_configure, - lc3plus_fraunhofer_encoder_get_bitrate_for_number_of_octets, - lc3plus_fraunhofer_encoder_get_number_samples_per_frame, lc3plus_fraunhofer_encoder_encode_signed_16, lc3plus_fraunhofer_encoder_encode_signed_24 }; diff --git a/test/le_audio/lc3_test.c b/test/le_audio/lc3_test.c index 809df6567..1bbbaebd8 100644 --- a/test/le_audio/lc3_test.c +++ b/test/le_audio/lc3_test.c @@ -234,7 +234,7 @@ static void setup_lc3_encoder(void){ lc3_encoder = btstack_lc3_encoder_google_init_instance(context); lc3_encoder->configure(context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_encoder->get_number_samples_per_frame(&encoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); printf("LC3 Encoder config: %u hz, frame duration %s ms, num samples %u, num octets %u\n", sampling_frequency_hz, frame_duration == BTSTACK_LC3_FRAME_DURATION_7500US ? "7.5" : "10", @@ -260,7 +260,7 @@ static void setup_lc3_decoder(void){ decoder_contexts[channel] = decoder_context; lc3_decoder->configure(decoder_context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_decoder->get_number_samples_per_frame(decoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); } diff --git a/test/le_audio/le_audio_broadcast_sink.c b/test/le_audio/le_audio_broadcast_sink.c index 2bb7e9a67..dd081b2e2 100644 --- a/test/le_audio/le_audio_broadcast_sink.c +++ b/test/le_audio/le_audio_broadcast_sink.c @@ -223,7 +223,7 @@ static void setup_lc3_decoder(void){ decoder_contexts[channel] = decoder_context; lc3_decoder->configure(decoder_context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_decoder->get_number_samples_per_frame(decoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); } diff --git a/test/le_audio/le_audio_broadcast_source.c b/test/le_audio/le_audio_broadcast_source.c index c9ea5157a..3975423d1 100644 --- a/test/le_audio/le_audio_broadcast_source.c +++ b/test/le_audio/le_audio_broadcast_source.c @@ -348,7 +348,7 @@ static void setup_lc3_encoder(void){ lc3_encoder = btstack_lc3_encoder_google_init_instance(context); lc3_encoder->configure(context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_encoder->get_number_samples_per_frame(&encoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); printf("LC3 Encoder config: %u hz, frame duration %s ms, num samples %u, num octets %u\n", sampling_frequency_hz, frame_duration == BTSTACK_LC3_FRAME_DURATION_7500US ? "7.5" : "10", diff --git a/test/le_audio/le_audio_unicast_sink.c b/test/le_audio/le_audio_unicast_sink.c index e7c348d86..9edbc85bf 100644 --- a/test/le_audio/le_audio_unicast_sink.c +++ b/test/le_audio/le_audio_unicast_sink.c @@ -220,7 +220,7 @@ static void setup_lc3_decoder(void){ decoder_contexts[channel] = decoder_context; lc3_decoder->configure(decoder_context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_decoder->get_number_samples_per_frame(decoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); } diff --git a/test/le_audio/le_audio_unicast_source.c b/test/le_audio/le_audio_unicast_source.c index 3027dcec5..28d4d6ef9 100644 --- a/test/le_audio/le_audio_unicast_source.c +++ b/test/le_audio/le_audio_unicast_source.c @@ -261,7 +261,7 @@ static void setup_lc3_encoder(void){ lc3_encoder = btstack_lc3_encoder_google_init_instance(context); lc3_encoder->configure(context, sampling_frequency_hz, frame_duration, octets_per_frame); } - number_samples_per_frame = lc3_encoder->get_number_samples_per_frame(&encoder_contexts[0]); + number_samples_per_frame = btstack_lc3_samples_per_frame(sampling_frequency_hz, frame_duration); btstack_assert(number_samples_per_frame <= MAX_SAMPLES_PER_FRAME); printf("LC3 Encoder config: %u hz, frame duration %s ms, num samples %u, num octets %u\n", sampling_frequency_hz, frame_duration == BTSTACK_LC3_FRAME_DURATION_7500US ? "7.5" : "10",