]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
satip server: allow to turn off UPnP discovery, fixes #4482
authorJaroslav Kysela <perex@perex.cz>
Wed, 2 Aug 2017 08:08:45 +0000 (10:08 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 9 Oct 2017 13:31:51 +0000 (15:31 +0200)
src/satip/server.c
src/satip/server.h

index 901d1389c393e29a007ee1566409c2a3e36118ee..e6b5fdf62918a7ce5f4a7d9da9730288f42529ce 100644 (file)
@@ -669,6 +669,14 @@ const idclass_t satip_server_class = {
       .off    = offsetof(struct satip_server_conf, satip_anonymize),
       .group  = 1,
     },
+    {
+      .type   = PT_BOOL,
+      .id     = "satip_noupnp",
+      .name   = N_("Disable UPnP"),
+      .desc   = N_("Disable UPnP discovery."),
+      .off    = offsetof(struct satip_server_conf, satip_noupnp),
+      .group  = 1,
+    },
     {
       .type   = PT_INT,
       .id     = "satip_weight",
@@ -990,12 +998,16 @@ void satip_server_register(void)
   if (save)
     idnode_changed(&config.idnode);
 
-  satips_upnp_discovery = upnp_service_create(upnp_service);
-  if (satips_upnp_discovery == NULL) {
-    tvherror(LS_SATIPS, "unable to create UPnP discovery service");
+  if (!satip_server_conf.satip_noupnp) {
+    satips_upnp_discovery = upnp_service_create(upnp_service);
+    if (satips_upnp_discovery == NULL) {
+      tvherror(LS_SATIPS, "unable to create UPnP discovery service");
+    } else {
+      satips_upnp_discovery->us_received = satips_upnp_discovery_received;
+      satips_upnp_discovery->us_destroy  = satips_upnp_discovery_destroy;
+    }
   } else {
-    satips_upnp_discovery->us_received = satips_upnp_discovery_received;
-    satips_upnp_discovery->us_destroy  = satips_upnp_discovery_destroy;
+    satips_upnp_discovery = NULL;
   }
 
   satip_server_rtsp_register();
index b7f99aaa25762e42af9c7c08f8540c760dfbe90f..054e48138236b7188c5c5c93f9897646f6197ad1 100644 (file)
@@ -50,6 +50,7 @@ struct satip_server_conf {
   int satip_nom3u;
   int satip_notcp_mode;
   int satip_anonymize;
+  int satip_noupnp;
   int satip_iptv_sig_level;
   int satip_force_sig_level;
   int satip_dvbs;