Microchip® Advanced Software Framework

btstack_sbc.h File Reference
#include <stdint.h>
#include "btstack_sbc_plc.h"

Data Structures

struct  btstack_sbc_decoder_state_t
 
struct  btstack_sbc_encoder_state_t
 

Enumerations

enum  btstack_sbc_mode_t {
  SBC_MODE_STANDARD,
  SBC_MODE_mSBC
}
 

Functions

void btstack_sbc_decoder_init (btstack_sbc_decoder_state_t *state, btstack_sbc_mode_t mode, void(*callback)(int16_t *data, int num_samples, int num_channels, int sample_rate, void *context), void *context)
 Init SBC decoder. More...
 
int btstack_sbc_decoder_num_channels (btstack_sbc_decoder_state_t *state)
 
int btstack_sbc_decoder_num_samples_per_frame (btstack_sbc_decoder_state_t *state)
 Get number of samples per SBC frame. More...
 
void btstack_sbc_decoder_process_data (btstack_sbc_decoder_state_t *state, int packet_status_flag, uint8_t *buffer, int size)
 Process received SCO data. More...
 
int btstack_sbc_decoder_sample_rate (btstack_sbc_decoder_state_t *state)
 
void btstack_sbc_decoder_test_disable_plc (void)
 
void btstack_sbc_decoder_test_simulate_corrupt_frames (int period)
 
void btstack_sbc_encoder_init (btstack_sbc_encoder_state_t *state, btstack_sbc_mode_t mode, int blocks, int subbands, int allocation_method, int sample_rate, int bitpool, int channel_mode)
 Init SBC encoder. More...
 
int btstack_sbc_encoder_num_audio_frames (void)
 Return number of audio frames required for one SBC packet. More...
 
void btstack_sbc_encoder_process_data (int16_t *input_buffer)
 Encode PCM data. More...
 
uint8_t * btstack_sbc_encoder_sbc_buffer (void)
 Return SBC frame. More...
 
uint16_t btstack_sbc_encoder_sbc_buffer_length (void)
 Return SBC frame length. More...
 

Enumerator
SBC_MODE_STANDARD 
SBC_MODE_mSBC 

void btstack_sbc_decoder_init ( btstack_sbc_decoder_state_t state,
btstack_sbc_mode_t  mode,
void(*)(int16_t *data, int num_samples, int num_channels, int sample_rate, void *context)  callback,
void *  context 
)

Init SBC decoder.

Parameters
state
mode
callbackfor decoded PCM data in host endianess
contextprovided in callback
int btstack_sbc_decoder_num_channels ( btstack_sbc_decoder_state_t state)
int btstack_sbc_decoder_num_samples_per_frame ( btstack_sbc_decoder_state_t state)

Get number of samples per SBC frame.

void btstack_sbc_decoder_process_data ( btstack_sbc_decoder_state_t state,
int  packet_status_flag,
uint8_t *  buffer,
int  size 
)

Process received SCO data.

Parameters
state
packet_status_flagfrom SCO packet: 0 = OK, 1 = possibly invalid data, 2 = no data received, 3 = data partially lost
buffer
size
int btstack_sbc_decoder_sample_rate ( btstack_sbc_decoder_state_t state)
void btstack_sbc_decoder_test_disable_plc ( void  )
void btstack_sbc_decoder_test_simulate_corrupt_frames ( int  period)
void btstack_sbc_encoder_init ( btstack_sbc_encoder_state_t state,
btstack_sbc_mode_t  mode,
int  blocks,
int  subbands,
int  allocation_method,
int  sample_rate,
int  bitpool,
int  channel_mode 
)

Init SBC encoder.

Parameters
state
mode
blocks
subbands
allocation_method
sample_rate
bitpool
channel_mode
int btstack_sbc_encoder_num_audio_frames ( void  )

Return number of audio frames required for one SBC packet.

Note
each audio frame contains 2 sample values in stereo modes
void btstack_sbc_encoder_process_data ( int16_t *  input_buffer)

Encode PCM data.

Parameters
bufferwith samples in host endianess
uint8_t* btstack_sbc_encoder_sbc_buffer ( void  )

Return SBC frame.

uint16_t btstack_sbc_encoder_sbc_buffer_length ( void  )

Return SBC frame length.