Selaa lähdekoodia

do not consume all CPU when OFF

philippe44 5 vuotta sitten
vanhempi
commit
a5047e4209
2 muutettua tiedostoa jossa 11 lisäystä ja 5 poistoa
  1. 9 3
      output_dac.c
  2. 2 2
      scan.c

+ 9 - 3
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;

+ 2 - 2
scan.c

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