]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Only report a client ip as metadata when a play session has started.
authorMike Brady <mikebrady@eircom.net>
Tue, 20 Mar 2018 21:24:47 +0000 (21:24 +0000)
committerMike Brady <mikebrady@eircom.net>
Tue, 20 Mar 2018 21:24:47 +0000 (21:24 +0000)
dacp.c
metadata_hub.c

diff --git a/dacp.c b/dacp.c
index b1625c732ab6b96d8c1e62ba224448b14c13fee4..aefef6a38391a8e325b935a77483a4c7a724e61f 100644 (file)
--- a/dacp.c
+++ b/dacp.c
@@ -295,6 +295,17 @@ void set_dacp_server_information(rtsp_conn_info *conn) { // tell the DACP conver
   metadata_hub_modify_prolog();
   int ch = metadata_store.dacp_server_active != dacp_server.scan_enable;
   metadata_store.dacp_server_active = dacp_server.scan_enable;
+
+  if ((metadata_store.client_ip == NULL) ||
+      (strncmp(metadata_store.client_ip, conn->client_ip_string, INET6_ADDRSTRLEN) != 0)) {
+    if (metadata_store.client_ip)
+      free(metadata_store.client_ip);
+    metadata_store.client_ip = strndup(conn->client_ip_string, INET6_ADDRSTRLEN);
+    debug(1, "MH Client IP set to: \"%s\"", metadata_store.client_ip);
+    metadata_store.client_ip_changed = 1;
+    metadata_store.changed = 1;
+    ch = 1;
+  }
   metadata_hub_modify_epilog(ch);
 
   pthread_cond_signal(&dacp_server_information_cv);
index b2eab4d51bc7486b56ff53d41e01c5a0c2258443..2d024f835ceba41700d741373293c35996f7252d 100644 (file)
@@ -429,6 +429,7 @@ void metadata_hub_process_metadata(uint32_t type, uint32_t code, char *data, uin
         metadata_hub_modify_epilog(1);
       }
       break;
+    /*
     case 'clip':
       if ((metadata_store.client_ip == NULL) ||
           (strncmp(metadata_store.client_ip, data, length) != 0)) {
@@ -436,12 +437,13 @@ void metadata_hub_process_metadata(uint32_t type, uint32_t code, char *data, uin
         if (metadata_store.client_ip)
           free(metadata_store.client_ip);
         metadata_store.client_ip = strndup(data, length);
-        // debug(1, "MH Client IP set to: \"%s\"", metadata_store.client_ip);
+        debug(1, "MH Client IP set to: \"%s\"", metadata_store.client_ip);
         metadata_store.client_ip_changed = 1;
         metadata_store.changed = 1;
         metadata_hub_modify_epilog(1);
       }
       break;
+    */
     case 'svip':
       if ((metadata_store.server_ip == NULL) ||
           (strncmp(metadata_store.server_ip, data, length) != 0)) {