]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts: add possibility to enable/disable network
authorJaroslav Kysela <perex@perex.cz>
Mon, 14 Jan 2019 12:17:15 +0000 (13:17 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 14 Jan 2019 12:17:15 +0000 (13:17 +0100)
src/input/mpegts.h
src/input/mpegts/mpegts_mux.c
src/input/mpegts/mpegts_network.c

index 270666c4d06f234c8d8ede06cdb25a6c602494ca..087bfdaa1c2a44a1b2699d10ee76a0f63d587785 100644 (file)
@@ -367,6 +367,7 @@ struct mpegts_network
   /*
    * Configuration
    */
+  int      mn_enabled;
   uint16_t mn_nid;
   uint16_t mn_satip_source;
   int      mn_autodiscovery;
index c19621be05ff1cc785aff5cc8e1185472fb4b20d..c0cbb5ba59bc5618789c1359e79949455a756993 100644 (file)
@@ -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
index 6fe5b181612d15c2311bbaffde0cf244db436007..b4e6330ebd4d1587fd9d8da59af09505f0ad2a97 100644 (file)
@@ -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);