]> 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>
Wed, 2 Aug 2017 08:08:45 +0000 (10:08 +0200)
src/satip/server.c
src/satip/server.h

index feca0a8819613823d3467777ad91a2ccc6560995..39052a08ac08f5384f28999a65a0b70ccbbfb5a7 100644 (file)
@@ -644,6 +644,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",
@@ -947,12 +955,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 d0c381940ffa2b28ba276e632f3e8f81a8320a02..8e9817662c97e348748746b8da1a82491551476a 100644 (file)
@@ -49,6 +49,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;