mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 03:27:01 +03:00
do not consume all CPU when OFF
This commit is contained in:
12
output_dac.c
12
output_dac.c
@@ -59,7 +59,7 @@ void output_init_dac(log_level level, unsigned output_buf_size, char *params, un
|
||||
rates[0] = 44100;
|
||||
}
|
||||
|
||||
output_init_common(level, "-", output_buf_size, rates, 0);
|
||||
output_init_common(level, "-", output_buf_size, rates, idle);
|
||||
|
||||
#if LINUX || OSX || FREEBSD || POSIX
|
||||
pthread_attr_t attr;
|
||||
@@ -133,7 +133,13 @@ static void *output_thread() {
|
||||
while (running) {
|
||||
|
||||
LOCK;
|
||||
|
||||
|
||||
if (output.state == OUTPUT_OFF) {
|
||||
UNLOCK;
|
||||
usleep(500000);
|
||||
continue;
|
||||
}
|
||||
|
||||
output.device_frames = 0;
|
||||
output.updated = gettime_ms();
|
||||
output.frames_played_dmp = output.frames_played;
|
||||
@@ -146,7 +152,7 @@ static void *output_thread() {
|
||||
//fwrite(buf, bytes_per_frame, buffill, stdout);
|
||||
buffill = 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user