From: Jaroslav Kysela Date: Mon, 14 Jan 2019 12:17:15 +0000 (+0100) Subject: mpegts: add possibility to enable/disable network X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1413e342daecff36ee22d3b75831599bbb66c7be;p=thirdparty%2Ftvheadend.git mpegts: add possibility to enable/disable network --- diff --git a/src/input/mpegts.h b/src/input/mpegts.h index 270666c4d..087bfdaa1 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -367,6 +367,7 @@ struct mpegts_network /* * Configuration */ + int mn_enabled; uint16_t mn_nid; uint16_t mn_satip_source; int mn_autodiscovery; diff --git a/src/input/mpegts/mpegts_mux.c b/src/input/mpegts/mpegts_mux.c index c19621be0..c0cbb5ba5 100644 --- a/src/input/mpegts/mpegts_mux.c +++ b/src/input/mpegts/mpegts_mux.c @@ -800,7 +800,7 @@ mpegts_mux_config_save ( mpegts_mux_t *mm, char *filename, size_t fsize ) static int mpegts_mux_is_enabled ( mpegts_mux_t *mm ) { - return mm->mm_enabled == MM_ENABLE; + return mm->mm_network->mn_enabled && mm->mm_enabled == MM_ENABLE; } static int diff --git a/src/input/mpegts/mpegts_network.c b/src/input/mpegts/mpegts_network.c index 6fe5b1816..b4e6330eb 100644 --- a/src/input/mpegts/mpegts_network.c +++ b/src/input/mpegts/mpegts_network.c @@ -169,6 +169,13 @@ const idclass_t mpegts_network_class = .ic_save = mpegts_network_class_save, .ic_get_title = mpegts_network_class_get_title, .ic_properties = (const property_t[]){ + { + .type = PT_BOOL, + .id = "enabled", + .name = N_("Enabled"), + .desc = N_("Enable/Disable network."), + .off = offsetof(mpegts_network_t, mn_enabled), + }, { .type = PT_STR, .id = "networkname", @@ -538,6 +545,7 @@ mpegts_network_create0 mtimer_arm_rel(&mn->mn_scan_timer, mpegts_network_scan_timer_cb, mn, 0); /* Defaults */ + mn->mn_enabled = 1; mn->mn_satpos = INT_MAX; mn->mn_skipinitscan = 1; mn->mn_autodiscovery = MN_DISCOVERY_NEW; @@ -757,6 +765,7 @@ mpegts_network_find_active_service mpegts_mux_t *mm; mpegts_service_t *s; + if (!mn->mn_enabled) return NULL; LIST_FOREACH(mm, &mn->mn_muxes, mm_network_link) { if (mm->mm_enabled != MM_ENABLE) continue; s = mpegts_mux_find_service(mm, sid);