2
0
Эх сурвалжийг харах

unique UUID per CSPOT player

Philippe G 3 жил өмнө
parent
commit
d7d47d1127

+ 3 - 1
components/spotify/cspot/include/ConstantParameters.h

@@ -3,8 +3,10 @@
 
 #define MAX_VOLUME 65536
 
+// variable weakly set in ZeroconfAuthentificator.cpp
+extern char deviceId[];
+
 // Hardcoded information sent to spotify servers
-const char * const deviceId = "162137fd329622137a14901634264e6f332e2422";
 const char * const informationString = "cspot";
 const char * const brandName = "corn";
 const char * const versionString = "cspot-1.0";

+ 3 - 0
components/spotify/cspot/src/ZeroconfAuthenticator.cpp

@@ -7,6 +7,9 @@
 #include "Logger.h"
 #include "ConfigJSON.h"
 
+// provide weak deviceId (see ConstantParameters.h)
+char deviceId[] __attribute__((weak)) = "162137fd329622137a14901634264e6f332e2422";
+
 ZeroconfAuthenticator::ZeroconfAuthenticator(authCallback callback, std::shared_ptr<bell::BaseHTTPServer> httpServer) {
     this->gotBlobCallback = callback;
     srand((unsigned int)time(NULL));

+ 7 - 1
components/spotify/cspot_sink.c

@@ -16,6 +16,8 @@
 #include "cspot_private.h"
 #include "cspot_sink.h"
 
+char EXT_RAM_ATTR deviceId[16];
+
 static EXT_RAM_ATTR struct cspot_cb_s {
 	cspot_cmd_vcb_t cmd;
 	cspot_data_cb_t data;
@@ -147,11 +149,15 @@ static bool cmd_handler(cspot_event_t event, ...) {
  */
 static void cspot_sink_start(nm_state_t state_id, int sub_state) {
     const char *hostname;
+	uint8_t mac[6];
 
 	cmd_handler_chain = cspot_cbs.cmd;
 	network_get_hostname(&hostname);
+	
+	esp_netif_get_mac(network_get_active_interface(), mac);
+	for (int i = 0; i < 6; i++) sprintf(deviceId + 2*i, "%02x", mac[i]);
 
-	ESP_LOGI(TAG, "Starting Spotify (CSpot) servicename %s", hostname);
+	ESP_LOGI(TAG, "Starting Spotify (CSpot) servicename %s with id %s", hostname, deviceId);
 	cspot = cspot_create(hostname, cmd_handler, cspot_cbs.data);
 }
 

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
components/wifi-manager/webapp/webpack/dist/index.html


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно