From: Andreas Ă–man Date: Fri, 29 Aug 2008 16:26:18 +0000 (+0000) Subject: Update multiplex quality index X-Git-Tag: 2.12~938 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d6a28f97751c9db1e7593cb7a75fb1d1fee026e8;p=thirdparty%2Ftvheadend.git Update multiplex quality index --- diff --git a/dvb/dvb_fe.c b/dvb/dvb_fe.c index bd2badc99..cf8043d42 100644 --- a/dvb/dvb_fe.c +++ b/dvb/dvb_fe.c @@ -207,7 +207,6 @@ dvb_fe_start(th_dvb_adapter_t *tda) /** * */ -#if 0 static void dvb_notify_mux_quality(th_dvb_mux_instance_t *tdmi) { @@ -217,7 +216,6 @@ dvb_notify_mux_quality(th_dvb_mux_instance_t *tdmi) htsmsg_add_u32(m, "quality", tdmi->tdmi_quality); notify_by_msg("dvbmux", m); } -#endif /** @@ -243,7 +241,7 @@ dvb_fe_monitor(void *aux) { th_dvb_adapter_t *tda = aux; fe_status_t fe_status; - int status, v, savemux = 0, vv, i, fec; + int status, v, savemux = 0, vv, i, fec, q; th_dvb_mux_instance_t *tdmi = tda->tda_mux_current; char buf[50]; @@ -316,6 +314,16 @@ dvb_fe_monitor(void *aux) savemux = 1; } + if(status != TDMI_FE_UNKNOWN) { + q = tdmi->tdmi_quality + (status - TDMI_FE_OK + 1); + q = MAX(MIN(q, 100), 0); + if(q != tdmi->tdmi_quality) { + tdmi->tdmi_quality = q; + dvb_notify_mux_quality(tdmi); + savemux = 1; + } + } + if(savemux) dvb_mux_save(tdmi); }