From b000bbd383614e433bdc160f414c8696942f2569 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Sat, 17 Sep 2022 10:00:56 -0700 Subject: [PATCH] limit CSPOT buffering of decoded audio for less plops & lag - release --- components/squeezelite/decode_external.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/squeezelite/decode_external.c b/components/squeezelite/decode_external.c index 3a220b1a..cd3df8ce 100644 --- a/components/squeezelite/decode_external.c +++ b/components/squeezelite/decode_external.c @@ -25,7 +25,10 @@ static bool enable_bt_sink; #if CONFIG_CSPOT_SINK #include "cspot_sink.h" + static bool enable_cspot; +#define CSPOT_OUTPUT_SIZE ((48000 * BYTES_PER_FRAME * 2) & ~BYTES_PER_FRAME) + #endif #if CONFIG_AIRPLAY_SINK @@ -351,7 +354,7 @@ static bool cspot_cmd_handler(cspot_event_t cmd, va_list args) output.frames_played = 0; output.state = OUTPUT_STOPPED; _buf_flush(outputbuf); - _buf_limit(outputbuf, 0); + _buf_limit(outputbuf, CSPOT_OUTPUT_SIZE); if (decode.state != DECODE_STOPPED) decode.state = DECODE_ERROR; LOG_INFO("CSpot connected"); break;