13#include "sbc/formats.h"
41 virtual const char *
mime()
override {
return "audio/sbc"; }
61 virtual size_t write(
const uint8_t *data,
size_t len) {
62 LOGD(
"write: %d", len);
68 uint8_t *start = (uint8_t *)data;
82 for (
int j = 0; j < count; j++) {
122 switch (
sbc.frequency) {
136 LOGE(
"Unsupported sample rate");
148 size_t result_len = 0;
149 int frame_len = sbc_parse(&
sbc, data, length);
163 LOGI(
"input_buffer: %d", len);
176 size_t result_len = 0;
179 if (result_len > 0) {
221 LOGE(
"Invalid blocks: %d - using 16",
blocks);
235 this->allocation_method = SBC_AM_LOUDNESS;
257 virtual const char *
mime() {
return "audio/sbc"; }
263 virtual size_t write(
const uint8_t *data,
size_t len) {
264 LOGD(
"write: %d", len);
270 LOGE(
"output not defined");
275 for (
int j = 0; j < len; j++) {
321 sbc.frequency = SBC_FREQ_16000;
324 sbc.frequency = SBC_FREQ_32000;
327 sbc.frequency = SBC_FREQ_44100;
330 sbc.frequency = SBC_FREQ_48000;
339 sbc.mode = SBC_MODE_MONO;
342 sbc.mode = SBC_MODE_STEREO;
351 sbc.subbands = SBC_SB_4;
354 sbc.subbands = SBC_SB_8;
363 sbc.blocks = SBC_BLK_4;
366 sbc.blocks = SBC_BLK_8;
369 sbc.blocks = SBC_BLK_12;
372 sbc.blocks = SBC_BLK_16;
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120