From b2af657a5cb703ef4ee1940b1b1d8e3129bbb78b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Mon, 25 Aug 2008 19:04:56 +0000 Subject: [PATCH] Keep DVB multiplex quality in 0-100 range instead of -50 - 0 --- dvb/dvb_adapter.c | 9 +++++---- dvb/dvb_multiplex.c | 4 ++-- dvb/dvb_support.c | 9 --------- dvb/dvb_support.h | 1 - webui/extjs.c | 2 +- 5 files changed, 8 insertions(+), 17 deletions(-) diff --git a/dvb/dvb_adapter.c b/dvb/dvb_adapter.c index acfddaea..b4f11338 100644 --- a/dvb/dvb_adapter.c +++ b/dvb/dvb_adapter.c @@ -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; diff --git a/dvb/dvb_multiplex.c b/dvb/dvb_multiplex.c index 0a5fbcfc..4d0af50f 100644 --- a/dvb/dvb_multiplex.c +++ b/dvb/dvb_multiplex.c @@ -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; } diff --git a/dvb/dvb_support.c b/dvb/dvb_support.c index a5945915..a9ed16a6 100644 --- a/dvb/dvb_support.c +++ b/dvb/dvb_support.c @@ -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; -} - diff --git a/dvb/dvb_support.h b/dvb/dvb_support.h index a7d04bbd..1fc11367 100644 --- a/dvb/dvb_support.h +++ b/dvb/dvb_support.h @@ -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); diff --git a/webui/extjs.c b/webui/extjs.c index de826bd5..9f40fe1d 100644 --- a/webui/extjs.c +++ b/webui/extjs.c @@ -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) {