diff --git a/configure b/configure index 8d0e47cc..cdcd469d 100755 --- a/configure +++ b/configure @@ -36,7 +36,6 @@ OPTIONS=( "bundle:no" "dvbcsa:no" "kqueue:no" - "mpegts_dvb:auto" ) # @@ -155,7 +154,6 @@ check_cc_header 'linux/dvb/version' linuxdvbapi if enabled_or_auto linuxdvb; then if enabled linuxdvbapi; then enable linuxdvb - enable mpegts_dvb elif enabled linuxdvb; then die "Linux DVB API not found (use --disable-linuxdvb)" fi @@ -307,9 +305,14 @@ fi # disable mpegts disable mpegps -if enabled linuxdvb || enabled iptv || enabled tsfile; then +disable mpegts_dvb +if enabled linuxdvb || enabled iptv || enabled tsfile || enabled satip_client; +then enable mpegts fi +if enabled linuxdvb || enabled satip_client; then + enable mpegts_dvb +fi if enabled v4l; then enable mpegps diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index e7027262..3cc16c16 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -16,6 +16,7 @@ * along with this program. If not, see . */ + #include #include #include @@ -40,6 +41,9 @@ #include "input.h" #include "tcp.h" #include "capmt.h" + +#if ENABLE_LINUXDVB + #include "notify.h" #include "subscriptions.h" #include "dtable.h" @@ -1299,3 +1303,11 @@ capmt_done(void) } dtable_delete("capmt"); } + +#else /* ENABLE_LINUXDVB */ + +void capmt_init ( void ) {} +void capmt_done ( void ) {} +void capmt_service_start(service_t *s) {} + +#endif diff --git a/src/input/mpegts.h b/src/input/mpegts.h index 51830c58..3991dc49 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -265,7 +265,7 @@ struct mpegts_network void (*mn_display_name) (mpegts_network_t*, char *buf, size_t len); void (*mn_config_save) (mpegts_network_t*); mpegts_mux_t* (*mn_create_mux) - (mpegts_mux_t*, uint16_t onid, uint16_t tsid, dvb_mux_conf_t *conf); + (mpegts_mux_t*, uint16_t onid, uint16_t tsid, void *conf); mpegts_service_t* (*mn_create_service) (mpegts_mux_t*, uint16_t sid, uint16_t pmt_pid); const idclass_t* (*mn_mux_class) (mpegts_network_t*); diff --git a/src/input/mpegts/dvb_psi.c b/src/input/mpegts/dvb_psi.c index 1155ec2c..071eb9d4 100644 --- a/src/input/mpegts/dvb_psi.c +++ b/src/input/mpegts/dvb_psi.c @@ -824,6 +824,7 @@ dvb_nit_callback break; /* nit only */ +#if ENABLE_MPEGTS_DVB case DVB_DESC_SAT_DEL: case DVB_DESC_CABLE_DEL: case DVB_DESC_TERR_DEL: @@ -838,6 +839,7 @@ dvb_nit_callback mpegts_mux_set_tsid(mux, tsid, 0); } break; +#endif /* Both */ case DVB_DESC_DEF_AUTHORITY: diff --git a/src/input/mpegts/mpegts_network.c b/src/input/mpegts/mpegts_network.c index caf3433a..c83098f3 100644 --- a/src/input/mpegts/mpegts_network.c +++ b/src/input/mpegts/mpegts_network.c @@ -181,7 +181,7 @@ mpegts_network_config_save static mpegts_mux_t * mpegts_network_create_mux - ( mpegts_mux_t *mm, uint16_t sid, uint16_t tsid, dvb_mux_conf_t *aux ) + ( mpegts_mux_t *mm, uint16_t sid, uint16_t tsid, void *aux ) { return NULL; } diff --git a/src/input/mpegts/mpegts_network_dvb.c b/src/input/mpegts/mpegts_network_dvb.c index 583cddf9..6344467d 100644 --- a/src/input/mpegts/mpegts_network_dvb.c +++ b/src/input/mpegts/mpegts_network_dvb.c @@ -275,11 +275,12 @@ dvb_network_mux_class static mpegts_mux_t * dvb_network_create_mux - ( mpegts_mux_t *mm, uint16_t onid, uint16_t tsid, dvb_mux_conf_t *dmc ) + ( mpegts_mux_t *mm, uint16_t onid, uint16_t tsid, void *p ) { int save = 0; mpegts_mux_t *mmo = mm; dvb_network_t *ln = (dvb_network_t*)mm->mm_network; + dvb_mux_conf_t *dmc = p; mm = dvb_network_find_mux(ln, dmc); if (!mm && ln->mn_autodiscovery) { diff --git a/src/main.c b/src/main.c index 3dcd09c9..7602838c 100644 --- a/src/main.c +++ b/src/main.c @@ -427,8 +427,8 @@ main(int argc, char **argv) { int i; sigset_t set; -#if ENABLE_LINUXDVB - uint32_t adapter_mask; +#if ENABLE_MPEGTS + uint32_t adapter_mask = 0; #endif int log_level = LOG_INFO; int log_options = TVHLOG_OPT_MILLIS | TVHLOG_OPT_STDERR | TVHLOG_OPT_SYSLOG;