From: Jaroslav Kysela Date: Sun, 29 Nov 2015 20:01:41 +0000 (+0100) Subject: MPEGTS Input: add 'Free weight' parameter to override imediatelly scan/EPG/other... X-Git-Tag: v4.2.1~1447 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a4b2cf309933d49a75c99ae58e12335262b940a0;p=thirdparty%2Ftvheadend.git MPEGTS Input: add 'Free weight' parameter to override imediatelly scan/EPG/other subscriptions with very low weights --- diff --git a/src/input/mpegts.h b/src/input/mpegts.h index b854c3253..03be00208 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -652,6 +652,7 @@ struct mpegts_input int mi_initscan; int mi_idlescan; + uint32_t mi_free_weight; char *mi_linked; diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index 7cf8937e5..8ee861b20 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -277,6 +277,14 @@ const idclass_t mpegts_input_class = .def.i = 1, .opts = PO_ADVANCED, }, + { + .type = PT_U32, + .id = "free_weight", + .name = N_("Free weight"), + .off = offsetof(mpegts_input_t, mi_free_weight), + .def.i = 1, + .opts = PO_ADVANCED, + }, { .type = PT_STR, .id = "networks", diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index f3a20d5e8..e079a382d 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -297,6 +297,8 @@ mpegts_service_enlist(service_t *t, tvh_input_t *ti, } else { w = mi->mi_get_weight(mi, mmi->mmi_mux, flags); p = mi->mi_get_priority(mi, mmi->mmi_mux, flags); + if (w > 0 && mi->mi_free_weight && w < mi->mi_free_weight) + w = 0; } service_instance_add(sil, t, mi->mi_instance, mi->mi_name, p, w);