]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Keep DVB multiplex quality in 0-100 range instead of -50 - 0
authorAndreas Öman <andreas@lonelycoder.com>
Mon, 25 Aug 2008 19:04:56 +0000 (19:04 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Mon, 25 Aug 2008 19:04:56 +0000 (19:04 +0000)
dvb/dvb_adapter.c
dvb/dvb_multiplex.c
dvb/dvb_support.c
dvb/dvb_support.h
webui/extjs.c

index acfddaea93b77c826152fc584f5c69432bca2e7a..b4f113381a82ec11d929e0f18893404c0ec84371 100644 (file)
@@ -244,7 +244,7 @@ dvb_notify_mux_quality(th_dvb_mux_instance_t *tdmi)
   htsmsg_t *m = htsmsg_create();
   htsmsg_add_str(m, "id", tdmi->tdmi_identifier);
 
-  htsmsg_add_u32(m, "quality", 100 + tdmi->tdmi_quality * 2);
+  htsmsg_add_u32(m, "quality", tdmi->tdmi_quality);
   notify_by_msg("dvbmux", m);
 }
 
@@ -319,14 +319,15 @@ dvb_fec_monitor(void *aux, int64_t now)
   
   n = dvb_mux_badness(tdmi);
   if(n > 0) {
-    if(tdmi->tdmi_quality > -50) {
-      tdmi->tdmi_quality -= n;
+    i = MAX(tdmi->tdmi_quality - n, 0);
+    if(i != tdmi->tdmi_quality) {
+      tdmi->tdmi_quality = i;
       dvb_notify_mux_quality(tdmi);
       savemux = 1;
     }
   } else {
 
-    if(tdmi->tdmi_quality < 0) {
+    if(tdmi->tdmi_quality < 100) {
       tdmi->tdmi_quality++;
       dvb_notify_mux_quality(tdmi);
       savemux = 1;
index 0a5fbcfc86737a4ae14d9a8df57ea7ef7e5d0c72..4d0af50f7c88cc89091bcb888bbee0e870c999b0 100644 (file)
@@ -322,7 +322,7 @@ dvb_mux_save(th_dvb_mux_instance_t *tdmi)
 
   htsmsg_t *m = htsmsg_create();
 
-  htsmsg_add_u32(m, "quality", -tdmi->tdmi_quality);
+  htsmsg_add_u32(m, "quality", tdmi->tdmi_quality);
   htsmsg_add_str(m, "status", tdmi->tdmi_last_status);
 
   htsmsg_add_u32(m, "transportstreamid", tdmi->tdmi_transport_stream_id);
@@ -496,7 +496,7 @@ tdmi_create_by_msg(th_dvb_adapter_t *tda, htsmsg_t *m)
     }
 
     if(!htsmsg_get_u32(m, "quality", &u32)) 
-      tdmi->tdmi_quality = -u32;
+      tdmi->tdmi_quality = u32;
   }
   return NULL;
 }
index a594591548ba58e6aa0c7b25c5a4339a45344dde..a9ed16a690cbc9ca5fd66c08d5e143b13647a076 100644 (file)
@@ -350,12 +350,3 @@ dvb_mux_nicename(char *buf, size_t size, th_dvb_mux_instance_t *tdmi)
   }
 }
 
-/**
- *
- */
-int
-dvb_quality_to_percent(int qual)
-{
-  return (qual + 50) * 2;
-}
-
index a7d04bbd5589a91adaa5938939e7b1a50d2b4584..1fc11367d8e5b1e6928bab8c80825956a71225a4 100644 (file)
@@ -60,7 +60,6 @@ const char *dvb_polarisation_to_str(int pol);
 th_dvb_adapter_t *dvb_adapter_find_by_identifier(const char *identifier);
 th_dvb_mux_instance_t *dvb_mux_find_by_identifier(const char *identifier);
 void dvb_mux_nicename(char *buf, size_t size, th_dvb_mux_instance_t *tdmi);
-int dvb_quality_to_percent(int qual);
 int dvb_mux_badness(th_dvb_mux_instance_t *tdmi);
 const char *dvb_mux_status(th_dvb_mux_instance_t *tdmi);
 
index de826bd50bd8818e8ee6d4c02124e8acbeba7a61..9f40fe1dc1cb96721e84c0680743e5feaf1639e5 100644 (file)
@@ -264,7 +264,7 @@ extjs_dvbtree(http_connection_t *hc, http_reply_t *hr,
       extjs_dvbtree_node(out, 0,
                         tdmi->tdmi_identifier, buf, "DVB Mux",
                         tdmi->tdmi_last_status,
-                        100 + tdmi->tdmi_quality * 2, "mux");
+                        tdmi->tdmi_quality, "mux");
     }
   } else if((tdmi = dvb_mux_find_by_identifier(s)) != NULL) {