From: Jaroslav Kysela Date: Tue, 20 Jun 2017 08:48:04 +0000 (+0200) Subject: satip server: allow to configure the signal level for IPTV streams, fixes #4448 X-Git-Tag: v4.2.4~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98c64e4eedc1d5a9aa99a9d7dd1d84ee5432c87d;p=thirdparty%2Ftvheadend.git satip server: allow to configure the signal level for IPTV streams, fixes #4448 --- diff --git a/src/satip/rtp.c b/src/satip/rtp.c index f2911128a..68aa5c936 100644 --- a/src/satip/rtp.c +++ b/src/satip/rtp.c @@ -490,10 +490,11 @@ void satip_rtp_queue(void *id, th_subscription_t *subs, socket_set_dscp(rtp->fd_rtcp, dscp, NULL, 0); if (perm_lock) { + int tmp = ((satip_server_conf.satip_iptv_sig_level * 0xffff) + 0x8000) / 245; rtp->sig.signal_scale = SIGNAL_STATUS_SCALE_RELATIVE; - rtp->sig.signal = 0xa000; + rtp->sig.signal = MINMAX(tmp, 0, 0xffff); rtp->sig.snr_scale = SIGNAL_STATUS_SCALE_RELATIVE; - rtp->sig.snr = 28000; + rtp->sig.snr = MAX(0xffff, (rtp->sig.signal * 3) / 2); } tvhtrace(LS_SATIPS, "rtp queue %p", rtp); diff --git a/src/satip/server.c b/src/satip/server.c index 512eef6c8..88f06b4d0 100644 --- a/src/satip/server.c +++ b/src/satip/server.c @@ -572,7 +572,8 @@ struct satip_server_conf satip_server_conf = { .idnode.in_class = &satip_server_class, .satip_descramble = 1, .satip_weight = 100, - .satip_allow_remote_weight = 1 + .satip_allow_remote_weight = 1, + .satip_iptv_sig_level = 220, }; static void satip_server_class_changed(idnode_t *self) @@ -706,6 +707,16 @@ const idclass_t satip_server_class = { .opts = PO_EXPERT, .group = 1, }, + { + .type = PT_U32, + .id = "satip_iptv_sig_level", + .name = N_("IPTV signal level"), + .desc = N_("Signal level for IPTV sources (0-240)."), + .off = offsetof(struct satip_server_conf, satip_iptv_sig_level), + .opts = PO_EXPERT, + .group = 1, + .def.i = 220, + }, { .type = PT_INT, .id = "satip_dvbs", diff --git a/src/satip/server.h b/src/satip/server.h index 9aa9ebdf8..fd07c59fb 100644 --- a/src/satip/server.h +++ b/src/satip/server.h @@ -47,6 +47,7 @@ struct satip_server_conf { int satip_rewrite_pmt; int satip_muxcnf; int satip_nom3u; + int satip_iptv_sig_level; int satip_dvbs; int satip_dvbs2; int satip_dvbt;