Browse Source

empty amp_GPIO does not mean GPIO 0!

philippe44 5 years ago
parent
commit
79942a03fe
1 changed files with 2 additions and 2 deletions
  1. 2 2
      components/squeezelite/output_i2s.c

+ 2 - 2
components/squeezelite/output_i2s.c

@@ -259,14 +259,14 @@ void output_init_i2s(log_level level, char *device, unsigned output_buf_size, ch
 	else adac->speaker(true);
 	
 	p = config_alloc_get_default(NVS_TYPE_STR, "amp_GPIO", NULL, 0);
-	if (p) {
+	if (p && *p) {
 		amp_gpio = atoi(p);
 		gpio_pad_select_gpio(amp_gpio);
 		gpio_set_direction(amp_gpio, GPIO_MODE_OUTPUT);
 		gpio_set_level(amp_gpio, 0);
 		LOG_INFO("setting amplifier GPIO %d", amp_gpio);
-		free(p);
 	}	
+	free(p);
 	
 	esp_pthread_cfg_t cfg = esp_pthread_get_default_config();