]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
SAT>IP client: add --nosatip option
authorJaroslav Kysela <perex@perex.cz>
Fri, 9 Oct 2015 14:50:31 +0000 (16:50 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 9 Oct 2015 14:50:31 +0000 (16:50 +0200)
src/input/mpegts.c
src/input/mpegts.h
src/input/mpegts/satip/satip.c
src/input/mpegts/satip/satip.h
src/main.c

index 4b65b89b152f0cfc9f0235c88f0091a149537fa5..95e77d9108b7a8e04cbdf4a381e0ada092f0bf37 100644 (file)
@@ -20,7 +20,7 @@
 #include "mpegts/fastscan.h"
 
 void
-mpegts_init ( int linuxdvb_mask, str_list_t *satip_client,
+mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client,
               str_list_t *tsfiles, int tstuners )
 {
   /* Register classes (avoid API 400 errors due to not yet defined) */
@@ -63,7 +63,7 @@ mpegts_init ( int linuxdvb_mask, str_list_t *satip_client,
 
   /* SAT>IP DVB client */
 #if ENABLE_SATIP_CLIENT
-  satip_init(satip_client);
+  satip_init(nosatip, satip_client);
 #endif
 
  /* HDHomerun client */
index f76bb8bb4870f1fde6b94ed0a19e95dcb8fc3ec2..04f3e032d351acc90935cd1dc3c4fb08d4013c42 100644 (file)
@@ -70,7 +70,7 @@ extern const idclass_t mpegts_input_class;
  * Setup / Tear down
  * *************************************************************************/
 
-void mpegts_init ( int linuxdvb_mask, str_list_t *satip_client,
+void mpegts_init ( int linuxdvb_mask, int nosatip, str_list_t *satip_client,
                    str_list_t *tsfiles, int tstuners );
 void mpegts_done ( void );
 
index 0318e2ba1ddcd91b02db9221737dd9f7b8d3d9c9..7c939f836e31e5a26da433198d01cc770f33c2ec 100644 (file)
@@ -737,6 +737,7 @@ typedef struct satip_discovery {
 
 TAILQ_HEAD(satip_discovery_queue, satip_discovery);
 
+static int satip_enabled;
 static int satip_discoveries_count;
 static struct satip_discovery_queue satip_discoveries;
 static upnp_service_t *satip_discovery_service;
@@ -1199,6 +1200,8 @@ satip_discovery_timer_cb(void *aux)
 void
 satip_device_discovery_start( void )
 {
+  if (!satip_enabled)
+    return;
   gtimer_arm(&satip_discovery_timer, satip_discovery_timer_cb, NULL, 1);
   gtimer_arm(&satip_discovery_static_timer, satip_discovery_static_timer_cb, NULL, 1);
 }
@@ -1207,12 +1210,15 @@ satip_device_discovery_start( void )
  * Initialization
  */
 
-void satip_init ( str_list_t *clients )
+void satip_init ( int nosatip, str_list_t *clients )
 {
+  satip_enabled = !nosatip;
   TAILQ_INIT(&satip_discoveries);
   satip_static_clients = clients;
-  dbus_register_rpc_str("satip_addr", NULL, satip_device_addr);
-  satip_device_discovery_start();
+  if (satip_enabled) {
+    dbus_register_rpc_str("satip_addr", NULL, satip_device_addr);
+    satip_device_discovery_start();
+  }
 }
 
 void satip_done ( void )
index 538ac476e8887fdb43a783117b742471a56f0fb5..ee403d035a5c09f4e82ea62d63f082a6b496366f 100644 (file)
@@ -22,7 +22,7 @@
 
 void satip_device_discovery_start( void );
 
-void satip_init( str_list_t *clients );
+void satip_init( int nosatip, str_list_t *clients );
 void satip_done( void );
 
 #endif /* __TVH_SATIP_H__ */
index 14569363c90fb2b9bff30188460533d95cd0102c..d5c410df48a0b8f49ec90449088746c6e9a9a6a7 100644 (file)
@@ -630,6 +630,7 @@ main(int argc, char **argv)
               opt_threadid     = 0,
               opt_libav        = 0,
               opt_ipv6         = 0,
+              opt_nosatip      = 0,
               opt_satip_rtsp   = 0,
 #if ENABLE_TSFILE
               opt_tsfile_tuner = 0,
@@ -689,7 +690,9 @@ main(int argc, char **argv)
       OPT_INT, &opt_satip_rtsp },
 #endif
 #if ENABLE_SATIP_CLIENT
-    {   0, "satip_xml", N_("URL with the SAT>IP server XML location"),
+    {   0, "nosatip",    N_("Disable SAT>IP client"),
+      OPT_BOOL, &opt_nosatip },
+    {   0, "satip_xml",  N_("URL with the SAT>IP server XML location"),
       OPT_STR_LIST, &opt_satip_xml },
 #endif
     {   0, NULL,         N_("Server Connectivity"),    OPT_BOOL, NULL         },
@@ -1026,7 +1029,8 @@ main(int argc, char **argv)
   dvb_init();
 
 #if ENABLE_MPEGTS
-  mpegts_init(adapter_mask, &opt_satip_xml, &opt_tsfile, opt_tsfile_tuner);
+  mpegts_init(adapter_mask, opt_nosatip, &opt_satip_xml,
+              &opt_tsfile, opt_tsfile_tuner);
 #endif
 
   channel_init();