From: Jaroslav Kysela Date: Fri, 9 Oct 2015 14:50:31 +0000 (+0200) Subject: SAT>IP client: add --nosatip option X-Git-Tag: v4.2.1~1953 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=69bc9b68d3ce1e65e8ab03a1d22b1d1adee8de3f;p=thirdparty%2Ftvheadend.git SAT>IP client: add --nosatip option --- diff --git a/src/input/mpegts.c b/src/input/mpegts.c index 4b65b89b1..95e77d910 100644 --- a/src/input/mpegts.c +++ b/src/input/mpegts.c @@ -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 */ diff --git a/src/input/mpegts.h b/src/input/mpegts.h index f76bb8bb4..04f3e032d 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -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 ); diff --git a/src/input/mpegts/satip/satip.c b/src/input/mpegts/satip/satip.c index 0318e2ba1..7c939f836 100644 --- a/src/input/mpegts/satip/satip.c +++ b/src/input/mpegts/satip/satip.c @@ -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 ) diff --git a/src/input/mpegts/satip/satip.h b/src/input/mpegts/satip/satip.h index 538ac476e..ee403d035 100644 --- a/src/input/mpegts/satip/satip.h +++ b/src/input/mpegts/satip/satip.h @@ -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__ */ diff --git a/src/main.c b/src/main.c index 14569363c..d5c410df4 100644 --- a/src/main.c +++ b/src/main.c @@ -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();