74 size_t readBytes(uint8_t* data,
size_t len)
override {
75 size_t result =
p_in->readBytes(data, len);
76 switch (
info.bits_per_sample) {
96 virtual size_t write(
const uint8_t* data,
size_t len)
override {
97 switch (
info.bits_per_sample) {
110 if (
p_out !=
nullptr) result =
p_out->write(data, len);
120 if (channel >=
info.channels) {
121 LOGE(
"Invalid channel: %d", channel);
124 return states[channel].freq;
160 for (
int ch = 0; ch <
info.channels; ch++) {
175 for (
int i = channel; i < (int)(len -
info.channels); i +=
info.channels) {
178 if (samples[i] <= 0 && samples[i +
info.channels] > 0) {
179 if (state.
count > 0) {
#define DEFAULT_BUFFER_SIZE