Browse Source

more fixes

Philippe G 3 years ago
parent
commit
d914e68a9b

+ 4 - 5
components/spotify/cspot/bell/include/Task.h

@@ -26,8 +26,8 @@ namespace bell
             this->core = core;
             this->runOnPSRAM = runOnPSRAM;
 #ifdef ESP_PLATFORM
-			this->priority = ESP_TASK_PRIO_MIN + 1 + priority;
-			if (this->priority < 0) this->priority = ESP_TASK_PRIO_MIN + 1;
+			this->priority = CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT + priority;
+			if (this->priority < 0) this->priority = ESP_TASK_PRIO_MIN;
 #endif
         }
         virtual ~Task() {}
@@ -37,11 +37,10 @@ namespace bell
 #ifdef ESP_PLATFORM
             if (runOnPSRAM)
             {
-
                 xTaskBuffer = (StaticTask_t *)heap_caps_malloc(sizeof(StaticTask_t), MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
                 xStack = (StackType_t *)heap_caps_malloc(this->stackSize, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT);
 
-                return (xTaskCreateStaticPinnedToCore(taskEntryFuncPSRAM, this->taskName.c_str(), this->stackSize, this, 2, xStack, xTaskBuffer, this->core) != NULL);
+                return (xTaskCreateStaticPinnedToCore(taskEntryFuncPSRAM, this->taskName.c_str(), this->stackSize, this, this->priority, xStack, xTaskBuffer, this->core) != NULL);
             }
             else
             {
@@ -50,7 +49,7 @@ namespace bell
                 cfg.inherit_cfg = true;
                 cfg.thread_name = this->taskName.c_str();
                 cfg.pin_to_core = core;
-				cfg.prio = priority;
+				cfg.prio = this->priority;
                 esp_pthread_set_cfg(&cfg);
             }
 #endif

+ 2 - 0
components/spotify/cspot/src/PlainConnection.cpp

@@ -164,6 +164,8 @@ size_t PlainConnection::writeBlock(const std::vector<uint8_t> &data)
 
 void PlainConnection::closeSocket()
 {
+	if (this->apSock < 0) return;
+
 	CSPOT_LOG(info, "Closing socket...");
 	shutdown(this->apSock, SHUT_RDWR);
 	close(this->apSock);