From: Mike Brady Date: Tue, 20 Mar 2018 21:24:47 +0000 (+0000) Subject: Only report a client ip as metadata when a play session has started. X-Git-Tag: 3.2RC1~7^2~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0993f3f15b33c3e6d6e392edd5bad61a657e0efb;p=thirdparty%2Fshairport-sync.git Only report a client ip as metadata when a play session has started. --- diff --git a/dacp.c b/dacp.c index b1625c73..aefef6a3 100644 --- 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); diff --git a/metadata_hub.c b/metadata_hub.c index b2eab4d5..2d024f83 100644 --- a/metadata_hub.c +++ b/metadata_hub.c @@ -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)) {