From fed174a062332c7d6b67f494f6daeab4e00c9889 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Tue, 21 Dec 2021 23:21:59 -0800 Subject: [PATCH] SB displayer waits when external decoder is in control --- components/squeezelite/displayer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/squeezelite/displayer.c b/components/squeezelite/displayer.c index 7e835784..38f8905c 100644 --- a/components/squeezelite/displayer.c +++ b/components/squeezelite/displayer.c @@ -352,7 +352,7 @@ bool sb_displayer_init(void) { // create displayer management task displayer.mutex = xSemaphoreCreateMutex(); - displayer.task = xTaskCreateStatic( (TaskFunction_t) displayer_task, "squeeze_displayer", SCROLL_STACK_SIZE, NULL, ESP_TASK_PRIO_MIN + 1, xStack, &xTaskBuffer); + displayer.task = xTaskCreateStatic( (TaskFunction_t) displayer_task, "sb_displayer", SCROLL_STACK_SIZE, NULL, ESP_TASK_PRIO_MIN + 1, xStack, &xTaskBuffer); // chain handlers slimp_handler_chain = slimp_handler; @@ -1299,6 +1299,7 @@ static void displayer_task(void *args) { // need to make sure we own display if (display && displayer.owned) GDS_Update(display); + else if (!led_display) displayer.wake = LONG_WAKE; // release semaphore and sleep what's needed xSemaphoreGive(displayer.mutex);