]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
service: don't create the standard nice name with adapter/input name
authorJaroslav Kysela <perex@perex.cz>
Tue, 7 Jun 2016 11:21:05 +0000 (13:21 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 7 Jun 2016 11:21:05 +0000 (13:21 +0200)
src/service.c
src/service.h
src/subscriptions.c
src/webui/static/app/status.js

index 5b404c249f0f0ec0fea7cc8e140973270697e9ec..4d6ed155dab5bd0473458be94a54f0b772b437e6 100644 (file)
@@ -53,6 +53,7 @@
 static void service_data_timeout(void *aux);
 static void service_class_delete(struct idnode *self);
 static htsmsg_t *service_class_save(struct idnode *self, char *filename, size_t fsize);
+static int service_make_nicename0(service_t *t, char *buf, size_t len, int adapter);
 
 struct service_queue service_all;
 struct service_queue service_raw_all;
@@ -1072,12 +1073,11 @@ service_stream_make_nicename(service_t *t, elementary_stream_t *st)
 /**
  *
  */
-void
-service_make_nicename(service_t *t)
+static int
+service_make_nicename0(service_t *t, char *buf, size_t len, int adapter)
 {
-  char buf[256], buf2[16];
+  char buf2[16];
   source_info_t si;
-  elementary_stream_t *st;
   char *service_name;
   int prefidx;
 
@@ -1091,20 +1091,36 @@ service_make_nicename(service_t *t)
     service_name = buf2;
   }
 
-  snprintf(buf, sizeof(buf),
+  snprintf(buf, len,
           "%s%s%s%s%s%s%s",
-          si.si_adapter ?: "", si.si_adapter && si.si_network ? "/" : "",
+          adapter && si.si_adapter ? si.si_adapter : "",
+          adapter && si.si_adapter && si.si_network ? "/" : "",
           si.si_network ?: "", si.si_network && si.si_mux     ? "/" : "",
           si.si_mux     ?: "", si.si_mux     && service_name  ? "/" : "",
           service_name ?: "");
-  prefidx = (si.si_adapter ? strlen(si.si_adapter) : 0) +
-            (si.si_adapter && si.si_network ? 1 : 0) +
+  prefidx = (adapter && si.si_adapter ? strlen(si.si_adapter) : 0) +
+            (adapter && si.si_adapter && si.si_network ? 1 : 0) +
             (si.si_network ? strlen(si.si_network) : 0) +
             (si.si_network && si.si_mux ? 1 : 0) +
             (si.si_mux ? strlen(si.si_mux) : 0);
 
   service_source_info_free(&si);
 
+  return prefidx;
+}
+
+/**
+ *
+ */
+void
+service_make_nicename(service_t *t)
+{
+  int prefidx;
+  char buf[256];
+  elementary_stream_t *st;
+
+  prefidx = service_make_nicename0(t, buf, sizeof(buf), 0);
+
   free(t->s_nicename);
   t->s_nicename = strdup(buf);
   t->s_nicename_prefidx = prefidx;
@@ -1678,9 +1694,12 @@ service_component_nicename(elementary_stream_t *st)
 }
 
 const char *
-service_adapter_nicename(service_t *t)
+service_adapter_nicename(service_t *t, char *buf, size_t len)
 {
-  return "Adapter";
+  pthread_mutex_lock(&t->s_stream_mutex);
+  service_make_nicename0(t, buf, len, 1);
+  pthread_mutex_unlock(&t->s_stream_mutex);
+  return buf;
 }
 
 const char *
index 0470d83523e5a592e75085f0553fdeaf87323bb5..7d15bb68947b83c7ee62736d0c66d546766b4d71 100644 (file)
@@ -600,7 +600,7 @@ const char *service_nicename(service_t *t);
 
 const char *service_component_nicename(elementary_stream_t *st);
 
-const char *service_adapter_nicename(service_t *t);
+const char *service_adapter_nicename(service_t *t, char *buf, size_t len);
 
 const char *service_tss2text(int flags);
 
index a889bd35ccf1f78094805b4cd1354b75147e1f67..646edd3fe0ebf49c910813686f552577bf25533c 100644 (file)
@@ -896,12 +896,12 @@ subscription_create_msg(th_subscription_t *s, const char *lang)
   service_t *t;
   profile_t *pro;
   char buf[256];
+  const char *state;
 
   htsmsg_add_u32(m, "id", s->ths_id);
   htsmsg_add_u32(m, "start", s->ths_start);
   htsmsg_add_u32(m, "errors", atomic_get(&s->ths_total_err));
 
-  const char *state;
   switch(subgetstate(s)) {
   default:
     state = N_("Idle");
@@ -920,7 +920,6 @@ subscription_create_msg(th_subscription_t *s, const char *lang)
     break;
   }
 
-
   htsmsg_add_str(m, "state", lang ? tvh_gettext_lang(lang, state) : state);
 
   if(s->ths_hostname != NULL)
@@ -938,7 +937,7 @@ subscription_create_msg(th_subscription_t *s, const char *lang)
     htsmsg_add_str(m, "channel", channel_get_name(s->ths_channel));
   
   if((t = s->ths_service) != NULL) {
-    htsmsg_add_str(m, "service", t->s_nicename ?: "");
+    htsmsg_add_str(m, "service", service_adapter_nicename(t, buf, sizeof(buf)));
 
     pthread_mutex_lock(&t->s_stream_mutex);
     if ((di = s->ths_service->s_descramble_info) != NULL) {
index a17fa1b4147ff18288c3b1d2852ac01c421b74bc..80bf2743295044051bfe353de3465358fa7db7bf 100644 (file)
@@ -107,7 +107,7 @@ tvheadend.status_subs = function(panel, index)
                 dataIndex: 'channel'
             },
             {
-                width: 200,
+                width: 250,
                 id: 'service',
                 header: _("Service"),
                 dataIndex: 'service'