From 787a5d9a6eeb34e4b1a192b9cd9dde95c473a462 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 20 Mar 2024 22:36:22 -0700 Subject: [PATCH] spdif glitch at track transition --- components/squeezelite/flac.c | 2 +- components/squeezelite/output_i2s.c | 2 +- components/squeezelite/slimproto.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/squeezelite/flac.c b/components/squeezelite/flac.c index 01a58297..f58648b8 100644 --- a/components/squeezelite/flac.c +++ b/components/squeezelite/flac.c @@ -141,8 +141,8 @@ static FLAC__StreamDecoderWriteStatus write_cb(const FLAC__StreamDecoder *decode FLAC__int32 *rptr = (FLAC__int32 *)buffer[channels > 1 ? 1 : 0]; if (decode.new_stream) { + LOG_INFO("setting track_start"); LOCK_O; - LOG_INFO("setting track_start"); output.track_start = outputbuf->writep; decode.new_stream = false; diff --git a/components/squeezelite/output_i2s.c b/components/squeezelite/output_i2s.c index 1803ddbc..cba7182b 100644 --- a/components/squeezelite/output_i2s.c +++ b/components/squeezelite/output_i2s.c @@ -439,7 +439,7 @@ void output_init_i2s(log_level level, char *device, unsigned output_buf_size, ch static DRAM_ATTR StaticTask_t xTaskBuffer __attribute__ ((aligned (4))); static EXT_RAM_ATTR StackType_t xStack[OUTPUT_THREAD_STACK_SIZE] __attribute__ ((aligned (4))); output_i2s_task = xTaskCreateStaticPinnedToCore( (TaskFunction_t) output_thread_i2s, "output_i2s", OUTPUT_THREAD_STACK_SIZE, - NULL, CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT + 1, xStack, &xTaskBuffer, 0 ); + NULL, CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT + 10, xStack, &xTaskBuffer, 0 ); } } diff --git a/components/squeezelite/slimproto.c b/components/squeezelite/slimproto.c index 412e3d62..19ea55a3 100644 --- a/components/squeezelite/slimproto.c +++ b/components/squeezelite/slimproto.c @@ -414,8 +414,8 @@ static void process_strm(u8_t *pkt, int len) { output.fade_secs = strm->transition_period; output.invert = (strm->flags & 0x03) == 0x03; output.channels = (strm->flags & 0x0c) >> 2; + UNLOCK_O; LOG_DEBUG("set fade: %u, channels: %u, invert: %u", output.fade_mode, output.channels, output.invert); - UNLOCK_O; } break; default: