]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
linuxdvb: fix the signal strenght / dB(m) calculations
authorJaroslav Kysela <perex@perex.cz>
Mon, 9 Mar 2015 19:17:12 +0000 (20:17 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 11 Mar 2015 20:41:13 +0000 (21:41 +0100)
src/input.c
src/tvheadend.h
src/webui/static/app/status.js

index 7952cf2fecd4d6a91855763c38006ac941f3070d..cdac24f9eb7d311407ab3c4dcfc5f4845194a7fa 100644 (file)
@@ -75,10 +75,10 @@ tvh_input_stream_create_msg
     htsmsg_add_str(m, "stream", st->stream_name);
   htsmsg_add_u32(m, "subs", st->subs_count);
   htsmsg_add_u32(m, "weight", st->max_weight);
-  htsmsg_add_u32(m, "signal", st->stats.signal);
+  htsmsg_add_s32(m, "signal", st->stats.signal);
   htsmsg_add_u32(m, "signal_scale", st->stats.signal_scale);
   htsmsg_add_u32(m, "ber", st->stats.ber);
-  htsmsg_add_u32(m, "snr", st->stats.snr);
+  htsmsg_add_s32(m, "snr", st->stats.snr);
   htsmsg_add_u32(m, "snr_scale", st->stats.snr_scale);
   htsmsg_add_u32(m, "unc", st->stats.unc);
   htsmsg_add_u32(m, "bps", st->stats.bps);
index 04a18c4afed802b0beb212c75a2f99b07beb1a8b..a4b04f4efffac1b0d863107ef8b5dd0a751f2f3a 100644 (file)
@@ -252,7 +252,7 @@ typedef enum {
 typedef enum {
   SIGNAL_STATUS_SCALE_UNKNOWN = 0,
   SIGNAL_STATUS_SCALE_RELATIVE, // value is unsigned, where 0 means 0% and 65535 means 100%
-  SIGNAL_STATUS_SCALE_DECIBEL   // value is measured in dB
+  SIGNAL_STATUS_SCALE_DECIBEL   // value is measured in dB * 1000
 } signal_status_scale_t;
 
 /**
index f937b86f30b6d0a8ab6771a6fc160f2f5d3b1606..819032f8d11d5576dd8533f0f6a8db5dbfde8cc3 100644 (file)
@@ -363,7 +363,7 @@ tvheadend.status_streams = function(panel, index)
                 if (scale == 1)
                   return v;
                 if (scale == 2 && v > 0) {
-                  var snr = v * 0.0001;
+                  var snr = v * 0.001;
                   return snr.toFixed(1) + " dB";
                 }
                 return '<span class="tvh-grid-unset">Unknown</span>';
@@ -382,8 +382,8 @@ tvheadend.status_streams = function(panel, index)
                 var scale = record.get('snr_scale');
                 if (scale == 1)
                   return v;
-                if (scale == 2 && v > 0) {
-                    var snr = v * 0.0001;
+                if (scale == 2) {
+                    var snr = v * 0.001;
                     return snr.toFixed(1) + " dBm";
                 }
                 return '<span class="tvh-grid-unset">Unknown</span>';