do not consume all CPU when OFF

This commit is contained in:
philippe44
2019-05-19 01:16:26 -07:00
parent 9b5bdd8cb4
commit a5047e4209
2 changed files with 11 additions and 5 deletions

View File

@@ -59,7 +59,7 @@ void output_init_dac(log_level level, unsigned output_buf_size, char *params, un
rates[0] = 44100; 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 #if LINUX || OSX || FREEBSD || POSIX
pthread_attr_t attr; pthread_attr_t attr;
@@ -133,7 +133,13 @@ static void *output_thread() {
while (running) { while (running) {
LOCK; LOCK;
if (output.state == OUTPUT_OFF) {
UNLOCK;
usleep(500000);
continue;
}
output.device_frames = 0; output.device_frames = 0;
output.updated = gettime_ms(); output.updated = gettime_ms();
output.frames_played_dmp = output.frames_played; output.frames_played_dmp = output.frames_played;
@@ -146,7 +152,7 @@ static void *output_thread() {
//fwrite(buf, bytes_per_frame, buffill, stdout); //fwrite(buf, bytes_per_frame, buffill, stdout);
buffill = 0; buffill = 0;
} }
} }
return 0; return 0;

4
scan.c
View File

@@ -118,12 +118,12 @@ void app_main()
int i; int i;
char **argv, *_argv[] = { char **argv, *_argv[] = {
"squeezelite-esp32", "squeezelite-esp32",
"-C",
"1",
"-n", "-n",
"ESP32", "ESP32",
"-d", "-d",
"all=info", "all=info",
"-d",
"slimproto=debug",
"-b", "-b",
"128:2000", "128:2000",
}; };