|
@@ -41,6 +41,7 @@ sure that using rate_delay would fix that
|
|
|
*/
|
|
|
|
|
|
#include "squeezelite.h"
|
|
|
+#include "esp_pthread.h"
|
|
|
#include "driver/i2s.h"
|
|
|
#include "driver/i2c.h"
|
|
|
#include "driver/gpio.h"
|
|
@@ -315,16 +316,20 @@ void output_init_i2s(log_level level, char *device, unsigned output_buf_size, ch
|
|
|
|
|
|
dac_cmd(DAC_OFF);
|
|
|
|
|
|
- pthread_attr_t attr;
|
|
|
- pthread_attr_init(&attr);
|
|
|
- pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN + OUTPUT_THREAD_STACK_SIZE);
|
|
|
- pthread_create_name(&thread, &attr, output_thread_i2s, NULL, "output_i2s");
|
|
|
-
|
|
|
- pthread_attr_init(&attr);
|
|
|
- pthread_attr_setstacksize(&attr, 2048);
|
|
|
- pthread_create_name(&stats_thread, NULL, output_thread_i2s_stats, NULL, "output_i2s_sts");
|
|
|
+ esp_pthread_cfg_t cfg = esp_pthread_get_default_config();
|
|
|
+
|
|
|
+ cfg.thread_name= "output_i2s";
|
|
|
+ cfg.inherit_cfg = false;
|
|
|
+ cfg.prio = CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT + 1;
|
|
|
+ cfg.stack_size = PTHREAD_STACK_MIN + OUTPUT_THREAD_STACK_SIZE;
|
|
|
+ esp_pthread_set_cfg(&cfg);
|
|
|
+ pthread_create(&thread, NULL, output_thread_i2s, NULL);
|
|
|
|
|
|
- pthread_attr_destroy(&attr);
|
|
|
+ cfg.thread_name= "output_i2s_sts";
|
|
|
+ cfg.prio = CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT - 1;
|
|
|
+ cfg.stack_size = 2048;
|
|
|
+ esp_pthread_set_cfg(&cfg);
|
|
|
+ pthread_create(&stats_thread, NULL, output_thread_i2s_stats, NULL);
|
|
|
}
|
|
|
|
|
|
|