From: Jaroslav Kysela Date: Tue, 13 Feb 2018 10:24:46 +0000 (+0100) Subject: satip,webui: improve extra ports, fixes #4936 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=47d19a9f6701a2badffbd940de543726b82b9caf;p=thirdparty%2Ftvheadend.git satip,webui: improve extra ports, fixes #4936 --- diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index 6bc98dad4..47627a53a 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -1659,7 +1659,7 @@ rtsp_stream_status ( void *opaque, htsmsg_t *m ) http_connection_t *hc = opaque; char buf[128]; struct session *rs = NULL; - htsmsg_t *c, *l; + htsmsg_t *c, *tcp = NULL, *udp = NULL; int udpport, s32; htsmsg_add_str(m, "type", "SAT>IP"); @@ -1677,23 +1677,23 @@ rtsp_stream_status ( void *opaque, htsmsg_t *m ) (udpport = rs->rtp_peer_port) > 0) { if (udpport == RTSP_TCP_DATA) { if (rs->tcp_data == hc) { - c = htsmsg_create_map(); - l = htsmsg_create_list(); s32 = htsmsg_get_s32_or_default(m, "peer_port", -1); - htsmsg_add_s32(l, NULL, s32); - htsmsg_add_msg(c, "tcp", l); - htsmsg_add_msg(m, "peer_extra_ports", c); + if (!tcp) tcp = htsmsg_create_list(); + htsmsg_add_s32(tcp, NULL, s32); } } else { - c = htsmsg_create_map(); - l = htsmsg_create_list(); - htsmsg_add_s32(l, NULL, udpport); - htsmsg_add_s32(l, NULL, udpport+1); - htsmsg_add_msg(c, "udp", l); - htsmsg_add_msg(m, "peer_extra_ports", c); + if (!udp) udp = htsmsg_create_list(); + htsmsg_add_s32(udp, NULL, udpport); + htsmsg_add_s32(udp, NULL, udpport+1); } } } + if (tcp || udp) { + c = htsmsg_create_map(); + if (tcp) htsmsg_add_msg(c, "tcp", tcp); + if (udp) htsmsg_add_msg(c, "udp", udp); + htsmsg_add_msg(m, "peer_extra_ports", c); + } } /* diff --git a/src/webui/static/app/status.js b/src/webui/static/app/status.js index 62e3b67b4..a8a1275b0 100644 --- a/src/webui/static/app/status.js +++ b/src/webui/static/app/status.js @@ -659,10 +659,10 @@ tvheadend.status_conns = function(panel, index) { if (!v) return ''; var o = ''; if ('tcp' in v) - o += _("TCP") + v.tcp.join(','); + o += _("TCP") + ':' + v.tcp.join(','); if ('udp' in v) { if (o) o += ';'; - o += _("UDP") + v.udp.join(','); + o += _("UDP") + ':' + v.udp.join(','); } return o; }