From 1fd1d9bf607c1b94dc02e82e5689904adb3183b2 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Sun, 19 May 2019 18:42:44 -0700 Subject: [PATCH] FLAC but no MP3 --- decode.c | 8 +++++--- esp32.c | 4 ++++ output_dac.c | 9 ++++++--- scan.c | 2 +- squeezelite.h | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/decode.c b/decode.c index 62cdd87a..dced8d48 100644 --- a/decode.c +++ b/decode.c @@ -80,7 +80,7 @@ static void *decode_thread() { IF_PROCESS( min_space = process.max_out_frames * BYTES_PER_FRAME; ); - + if (space > min_space && (bytes > codec->min_read_bytes || toend)) { decode.state = codec->decode(); @@ -172,16 +172,18 @@ void decode_init(log_level level, const char *include_codecs, const char *exclud #endif if (!strstr(exclude_codecs, "ogg") && (!include_codecs || (order_codecs = strstr(include_codecs, "ogg")))) sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_vorbis()); +*/ if (!strstr(exclude_codecs, "flac") && (!include_codecs || (order_codecs = strstr(include_codecs, "flac")))) sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_flac()); -*/ + if (!strstr(exclude_codecs, "pcm") && (!include_codecs || (order_codecs = strstr(include_codecs, "pcm")))) sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_pcm()); -/* + // try mad then mpg for mp3 unless command line option passed if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mad")) && (!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mad")))) sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mad()); +/* else if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) && (!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mpg")))) sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mpg()); diff --git a/esp32.c b/esp32.c index 57dc38c3..77ab7be2 100644 --- a/esp32.c +++ b/esp32.c @@ -10,3 +10,7 @@ void get_mac(u8_t mac[]) { _sig_func_ptr signal(int sig, _sig_func_ptr func) { return NULL; } + +void *audio_calloc(size_t nmemb, size_t size) { + return calloc(nmemb, size); +} diff --git a/output_dac.c b/output_dac.c index 3f31206e..0a42bcfb 100644 --- a/output_dac.c +++ b/output_dac.c @@ -145,13 +145,16 @@ static void *output_thread() { output.frames_played_dmp = output.frames_played; _output_frames(FRAME_BLOCK); - + UNLOCK; if (buffill) { - //fwrite(buf, bytes_per_frame, buffill, stdout); + // do something ... + usleep((buffill * 1000 * 1000) / output.current_sample_rate); buffill = 0; - } + } else { + usleep((FRAME_BLOCK * 1000 * 1000) / output.current_sample_rate); + } } diff --git a/scan.c b/scan.c index 81982e05..3a3f39f6 100644 --- a/scan.c +++ b/scan.c @@ -125,7 +125,7 @@ void app_main() "-d", "all=info", "-b", - "128:2000", + "256:2000", }; // can't do strtok on FLASH strings diff --git a/squeezelite.h b/squeezelite.h index 435fb347..1ddf6f8f 100644 --- a/squeezelite.h +++ b/squeezelite.h @@ -281,7 +281,7 @@ #endif /* SUN */ #define STREAM_THREAD_STACK_SIZE 8 * 1024 -#define DECODE_THREAD_STACK_SIZE 8 * 1024 +#define DECODE_THREAD_STACK_SIZE 32 * 1024 #define OUTPUT_THREAD_STACK_SIZE 8 * 1024 #define IR_THREAD_STACK_SIZE 8 * 1024 #if !OSX