From 8adabe7fe3dbe2c0a7c87298c3b3cdd43b6a048d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sun, 4 Jun 2017 15:24:31 +0200 Subject: [PATCH] fix compilation without mpegts_dvb, fixes #4409 --- configure | 8 +++++--- src/input/mpegts.h | 2 ++ src/input/mpegts/mpegts_dvb.h | 5 ----- src/input/mpegts/mpegts_mux.c | 2 ++ src/wizard.c | 37 ++++++++++++++++++++++++++--------- 5 files changed, 37 insertions(+), 17 deletions(-) diff --git a/configure b/configure index ef718c524..cf62abad8 100755 --- a/configure +++ b/configure @@ -582,9 +582,11 @@ fi # # libdvben50221 # -if enabled libdvben50221; then - LDFLAGS="$LDFLAGS -ldvben50221 -ldvbapi -lucsi" - enable linuxdvb_ca +if enabled linuxdvb; then + if enabled libdvben50221; then + LDFLAGS="$LDFLAGS -ldvben50221 -ldvbapi -lucsi" + enable linuxdvb_ca + fi fi # diff --git a/src/input/mpegts.h b/src/input/mpegts.h index dfbf07ba2..98085edc1 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -1116,6 +1116,8 @@ void mpegts_service_unref ( service_t *s ); void mpegts_service_delete ( service_t *s, int delconf ); +int64_t mpegts_service_channel_number ( service_t *s ); + /* * MPEG-TS event handler */ diff --git a/src/input/mpegts/mpegts_dvb.h b/src/input/mpegts/mpegts_dvb.h index 608dc5250..f22e8b0b9 100644 --- a/src/input/mpegts/mpegts_dvb.h +++ b/src/input/mpegts/mpegts_dvb.h @@ -99,9 +99,4 @@ dvb_mux_t *dvb_mux_create0 #define dvb_mux_create1(n, u, c)\ dvb_mux_create0(n, MPEGTS_ONID_NONE, MPEGTS_TSID_NONE, NULL, u, c) -/* - * - */ -int64_t mpegts_service_channel_number ( service_t *s ); - #endif /* __TVH_MPEGTS_DVB_H__ */ diff --git a/src/input/mpegts/mpegts_mux.c b/src/input/mpegts/mpegts_mux.c index 4ebffcc09..5f4791d62 100644 --- a/src/input/mpegts/mpegts_mux.c +++ b/src/input/mpegts/mpegts_mux.c @@ -1482,6 +1482,7 @@ mpegts_mux_compare ( mpegts_mux_t *a, mpegts_mux_t *b ) &b->mm_network->mn_id.in_uuid); if (r) return r; +#if ENABLE_MPEGTS_DVB if (idnode_is_instance(&a->mm_id, &dvb_mux_dvbs_class) && idnode_is_instance(&b->mm_id, &dvb_mux_dvbs_class)) { dvb_mux_conf_t *mc1 = &((dvb_mux_t *)a)->lm_tuning; @@ -1493,6 +1494,7 @@ mpegts_mux_compare ( mpegts_mux_t *a, mpegts_mux_t *b ) if (r == 0) r = mc1->dmc_fe_freq - mc2->dmc_fe_freq; } +#endif return r ?: uuid_cmp(&a->mm_id.in_uuid, &b->mm_id.in_uuid); } diff --git a/src/wizard.c b/src/wizard.c index 0deb4769f..9ca296937 100644 --- a/src/wizard.c +++ b/src/wizard.c @@ -749,11 +749,13 @@ static void muxes_changed(idnode_t *in) mn = mpegts_network_find(w->networkid[idx]); if (mn == NULL || !mn->mn_wizard) continue; +#if ENABLE_MPEGTS_DVB if (idnode_is_instance(&mn->mn_id, &dvb_network_class) && w->muxes[idx][0]) { dvb_network_scanfile_set((dvb_network_t *)mn, w->muxes[idx]); } +#endif #if ENABLE_IPTV - else if (idnode_is_instance(&mn->mn_id, &iptv_auto_network_class) && + if (idnode_is_instance(&mn->mn_id, &iptv_auto_network_class) && w->iptv_url[idx][0]) { htsmsg_t *m = htsmsg_create_map(); htsmsg_add_str(m, "url", w->iptv_url[idx]); @@ -846,7 +848,18 @@ static int muxes_set_idvalue##num(void *o, const void *v) \ wizard_muxes_t *w = p->aux; \ snprintf(w->networkid[num-1], sizeof(w->networkid[num-1]), "%s", (const char *)v); \ return 1; \ -} \ +} + +MUXES_FCN(1) +MUXES_FCN(2) +MUXES_FCN(3) +MUXES_FCN(4) +MUXES_FCN(5) +MUXES_FCN(6) + +#if ENABLE_MPEGTS_DVB + +#define MUXES_FCN_DVB(num) \ static const void *muxes_get_value##num(void *o) \ { \ wizard_page_t *p = o; \ @@ -871,12 +884,14 @@ static htsmsg_t *muxes_get_list##num(void *o, const char *lang) \ } -MUXES_FCN(1) -MUXES_FCN(2) -MUXES_FCN(3) -MUXES_FCN(4) -MUXES_FCN(5) -MUXES_FCN(6) +MUXES_FCN_DVB(1) +MUXES_FCN_DVB(2) +MUXES_FCN_DVB(3) +MUXES_FCN_DVB(4) +MUXES_FCN_DVB(5) +MUXES_FCN_DVB(6) + +#endif #if ENABLE_IPTV @@ -918,6 +933,7 @@ wizard_page_t *wizard_muxes(const char *lang) NETWORK_GROUP(6), {} }; +#if ENABLE_MPEGTS_DVB static const property_t nprops[] = { MUXES(1), MUXES(2), @@ -926,6 +942,7 @@ wizard_page_t *wizard_muxes(const char *lang) MUXES(5), MUXES(6), }; +#endif #if ENABLE_IPTV static const property_t iptvprops[] = { MUXES_IPTV(1), @@ -962,14 +979,16 @@ wizard_page_t *wizard_muxes(const char *lang) if (mn->mn_wizard) { mn->mn_display_name(mn, w->network[midx], sizeof(w->network[midx])); idnode_uuid_as_str(&mn->mn_id, w->networkid[midx]); +#if ENABLE_MPEGTS_DVB if (idnode_is_instance(&mn->mn_id, &dvb_network_class)) { w->props[idx++] = nprops[midx * 3 + 0]; w->props[idx++] = nprops[midx * 3 + 1]; w->props[idx++] = nprops[midx * 3 + 2]; midx++; } +#endif #if ENABLE_IPTV - else if (idnode_is_instance(&mn->mn_id, &iptv_auto_network_class)) { + if (idnode_is_instance(&mn->mn_id, &iptv_auto_network_class)) { snprintf(w->iptv_url[midx], sizeof(w->iptv_url[midx]), "%s", ((iptv_network_t *)mn)->in_url ?: ""); w->props[idx++] = iptvprops[midx * 3 + 0]; w->props[idx++] = iptvprops[midx * 3 + 1]; -- 2.47.3