16#ifndef FLAC_READ_TIMEOUT_MS
17#define FLAC_READ_TIMEOUT_MS 10000
20#ifndef FLAC_BUFFER_SIZE
21#define FLAC_BUFFER_SIZE (8 * 1024)
66 LOGE(
"ERROR: allocating decoder");
70 LOGI(
"FLAC__stream_decoder_new");
122 LOGW(
"FLAC not active");
126 LOGE(
"setInput was not called");
130 LOGE(
"FLAC__stream_decoder_process_single");
145 const char *
mime()
override {
return is_ogg ?
"audio/ogg; codecs=flac" :
"audio/flac"; }
178 if (self ==
nullptr || !self->
is_active) {
208 LOGD(
"write_callback: %u", (
unsigned)frame->header.blocksize);
212 if (self->
info != actual_info){
213 self->
info = actual_info;
217 LOGI(
"Converting from %d bits",
bps);
219 self->
info = actual_info;
229 for (
int j = 0;
j < frame->header.blocksize;
j++) {
230 for (
int i = 0; i < actual_info.
channels; i++) {
238 for (
int j = 0;
j < frame->header.blocksize;
j++) {
239 for (
int i = 0; i < actual_info.
channels; i++) {
246 for (
int j = 0;
j < frame->header.blocksize;
j++) {
247 for (
int i = 0; i < actual_info.
channels; i++) {
254 for (
int j = 0;
j < frame->header.blocksize;
j++) {
255 for (
int i = 0; i < actual_info.
channels; i++) {
262 LOGE(
"Unsupported bps: %d",
bps);
309 const char *
mime()
override {
return "audio/flac"; }
323 LOGE(
"FLAC__stream_encoder_new");
373 LOGD(
"write: %zu", len);
380 samples = len /
sizeof(
int16_t);
388 samples = len /
sizeof(
int32_t);
402 LOGE(
"FLAC__stream_encoder_process_interleaved");
428 LOGE(
"write_callback %zu -> %zu",
bytes, written);
437 for (
int j=0;
j<samples;
j++){
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define FLAC_READ_TIMEOUT_MS
Definition CodecFLAC.h:17