From d1ad5631b51f3017f2eda7a47ac6090ea21f3a1e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 31 Mar 2014 19:52:36 +0200 Subject: [PATCH] Move the linuxdvb mux code to the shared mpegts network code ... introduce $CFG/input/dvb/networks/... structure --- Makefile | 2 +- src/input/mpegts/linuxdvb/linuxdvb_en50494.c | 2 +- src/input/mpegts/linuxdvb/linuxdvb_frontend.c | 6 +- src/input/mpegts/linuxdvb/linuxdvb_lnb.c | 16 +- src/input/mpegts/linuxdvb/linuxdvb_private.h | 32 +- src/input/mpegts/linuxdvb/linuxdvb_rotor.c | 8 +- src/input/mpegts/linuxdvb/linuxdvb_satconf.c | 6 +- src/input/mpegts/linuxdvb/linuxdvb_switch.c | 2 +- src/input/mpegts/mpegts_dvb.h | 25 ++ .../linuxdvb_mux.c => mpegts_mux_dvb.c} | 351 ++++++++---------- src/input/mpegts/mpegts_network_dvb.c | 32 +- 11 files changed, 220 insertions(+), 262 deletions(-) rename src/input/mpegts/{linuxdvb/linuxdvb_mux.c => mpegts_mux_dvb.c} (62%) diff --git a/Makefile b/Makefile index 7f10ae99..8b9ee45b 100644 --- a/Makefile +++ b/Makefile @@ -180,6 +180,7 @@ SRCS-$(CONFIG_MPEGTS) += \ # MPEGTS DVB SRCS-${CONFIG_MPEGTS_DVB} += \ src/input/mpegts/mpegts_network_dvb.c \ + src/input/mpegts/mpegts_mux_dvb.c \ src/input/mpegts/scanfile.c # MPEGTS EPG @@ -194,7 +195,6 @@ SRCS-${CONFIG_LINUXDVB} += \ src/input/mpegts/linuxdvb/linuxdvb.c \ src/input/mpegts/linuxdvb/linuxdvb_adapter.c \ src/input/mpegts/linuxdvb/linuxdvb_frontend.c \ - src/input/mpegts/linuxdvb/linuxdvb_mux.c \ src/input/mpegts/linuxdvb/linuxdvb_satconf.c \ src/input/mpegts/linuxdvb/linuxdvb_lnb.c \ src/input/mpegts/linuxdvb/linuxdvb_switch.c \ diff --git a/src/input/mpegts/linuxdvb/linuxdvb_en50494.c b/src/input/mpegts/linuxdvb/linuxdvb_en50494.c index 9a09bcba..ad92cefe 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_en50494.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_en50494.c @@ -143,7 +143,7 @@ const idclass_t linuxdvb_en50494_class = static int linuxdvb_en50494_tune - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *sc, int fd ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *sc, int fd ) { int ret = 0; int i; diff --git a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c index ce563403..3df44d65 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c @@ -375,7 +375,7 @@ linuxdvb_frontend_network_list ( mpegts_input_t *mi ) static void linuxdvb_frontend_default_tables - ( linuxdvb_frontend_t *lfe, linuxdvb_mux_t *lm ) + ( linuxdvb_frontend_t *lfe, dvb_mux_t *lm ) { mpegts_mux_t *mm = (mpegts_mux_t*)lm; @@ -486,7 +486,7 @@ linuxdvb_frontend_monitor ( void *aux ) pthread_mutex_unlock(&lfe->lfe_dvr_lock); /* Table handlers */ - linuxdvb_frontend_default_tables(lfe, (linuxdvb_mux_t*)mm); + linuxdvb_frontend_default_tables(lfe, (dvb_mux_t*)mm); /* Locked - ensure everything is open */ pthread_mutex_lock(&lfe->mi_delivery_mutex); @@ -861,7 +861,7 @@ linuxdvb_frontend_tune0 struct dvb_frontend_event ev; char buf1[256]; mpegts_mux_instance_t *cur = LIST_FIRST(&lfe->mi_mux_active); - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mmi->mmi_mux; + dvb_mux_t *lm = (dvb_mux_t*)mmi->mmi_mux; dvb_mux_conf_t *dmc; struct dvb_frontend_parameters p; diff --git a/src/input/mpegts/linuxdvb/linuxdvb_lnb.c b/src/input/mpegts/linuxdvb/linuxdvb_lnb.c index 85ae5503..6085cd91 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_lnb.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_lnb.c @@ -72,7 +72,7 @@ const idclass_t linuxdvb_lnb_class = static uint32_t linuxdvb_lnb_standard_freq - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { linuxdvb_lnb_conf_t *lnb = (linuxdvb_lnb_conf_t*)l; int32_t f = (int32_t)lm->lm_tuning.dmc_fe_freq; @@ -85,7 +85,7 @@ linuxdvb_lnb_standard_freq static int linuxdvb_lnb_standard_band - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { linuxdvb_lnb_conf_t *lnb = (linuxdvb_lnb_conf_t*)l; uint32_t f = lm->lm_tuning.dmc_fe_freq; @@ -94,7 +94,7 @@ linuxdvb_lnb_standard_band static int linuxdvb_lnb_standard_pol - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { dvb_mux_conf_t *dmc = &lm->lm_tuning; return dmc->u.dmc_fe_qpsk.polarisation == DVB_POLARISATION_HORIZONTAL || @@ -103,7 +103,7 @@ linuxdvb_lnb_standard_pol static int linuxdvb_lnb_standard_tune - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) { int pol = linuxdvb_lnb_standard_pol((linuxdvb_lnb_t*)ld, lm); return linuxdvb_diseqc_set_volt(fd, pol); @@ -115,7 +115,7 @@ linuxdvb_lnb_standard_tune static uint32_t linuxdvb_lnb_bandstack_freq - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { linuxdvb_lnb_conf_t *lnb = (linuxdvb_lnb_conf_t*)l; int32_t f = (int32_t)lm->lm_tuning.dmc_fe_freq; @@ -131,7 +131,7 @@ linuxdvb_lnb_bandstack_freq static int linuxdvb_lnb_bandstack_band - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { dvb_mux_conf_t *dmc = &lm->lm_tuning; int pol = dmc->u.dmc_fe_qpsk.polarisation == DVB_POLARISATION_HORIZONTAL || @@ -141,14 +141,14 @@ linuxdvb_lnb_bandstack_band static int linuxdvb_lnb_bandstack_pol - ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) + ( linuxdvb_lnb_t *l, dvb_mux_t *lm ) { return 0; } static int linuxdvb_lnb_bandstack_tune - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) { int pol = linuxdvb_lnb_bandstack_pol((linuxdvb_lnb_t*)ld, lm); return linuxdvb_diseqc_set_volt(fd, pol); diff --git a/src/input/mpegts/linuxdvb/linuxdvb_private.h b/src/input/mpegts/linuxdvb/linuxdvb_private.h index fe96a029..1cf9dd38 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_private.h +++ b/src/input/mpegts/linuxdvb/linuxdvb_private.h @@ -40,7 +40,6 @@ typedef struct linuxdvb_satconf_ele linuxdvb_satconf_ele_t; typedef struct linuxdvb_diseqc linuxdvb_diseqc_t; typedef struct linuxdvb_lnb linuxdvb_lnb_t; typedef struct linuxdvb_network linuxdvb_network_t; -typedef struct linuxdvb_mux linuxdvb_mux_t; typedef struct linuxdvb_en50494 linuxdvb_en50494_t; typedef LIST_HEAD(,linuxdvb_hardware) linuxdvb_hardware_list_t; @@ -184,17 +183,17 @@ struct linuxdvb_diseqc idnode_t ld_id; const char *ld_type; linuxdvb_satconf_ele_t *ld_satconf; - int (*ld_grace) (linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm); - int (*ld_tune) (linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, + int (*ld_grace) (linuxdvb_diseqc_t *ld, dvb_mux_t *lm); + int (*ld_tune) (linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd); }; struct linuxdvb_lnb { linuxdvb_diseqc_t; - uint32_t (*lnb_freq)(linuxdvb_lnb_t*, linuxdvb_mux_t*); - int (*lnb_band)(linuxdvb_lnb_t*, linuxdvb_mux_t*); - int (*lnb_pol) (linuxdvb_lnb_t*, linuxdvb_mux_t*); + uint32_t (*lnb_freq)(linuxdvb_lnb_t*, dvb_mux_t*); + int (*lnb_band)(linuxdvb_lnb_t*, dvb_mux_t*); + int (*lnb_pol) (linuxdvb_lnb_t*, dvb_mux_t*); }; struct linuxdvb_en50494 @@ -245,27 +244,6 @@ int linuxdvb_frontend_tune0 int linuxdvb_frontend_tune1 ( linuxdvb_frontend_t *lfe, mpegts_mux_instance_t *mmi, uint32_t freq ); -/* - * - */ -struct linuxdvb_mux -{ - mpegts_mux_t; - - /* - * Tuning information - */ - dvb_mux_conf_t lm_tuning; -}; - -linuxdvb_mux_t *linuxdvb_mux_create0 - (dvb_network_t *ln, uint16_t onid, uint16_t tsid, - const dvb_mux_conf_t *dmc, const char *uuid, htsmsg_t *conf); - -#define linuxdvb_mux_create1(n, u, c)\ - linuxdvb_mux_create0(n, MPEGTS_ONID_NONE, MPEGTS_TSID_NONE,\ - NULL, u, c) - /* * Diseqc gear */ diff --git a/src/input/mpegts/linuxdvb/linuxdvb_rotor.c b/src/input/mpegts/linuxdvb/linuxdvb_rotor.c index 74fbf3e2..4ded7004 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_rotor.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_rotor.c @@ -132,7 +132,7 @@ const idclass_t linuxdvb_rotor_usals_class = /* GotoX */ static int linuxdvb_rotor_gotox_tune - ( linuxdvb_rotor_t *lr, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) + ( linuxdvb_rotor_t *lr, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) { int i; for (i = 0; i <= ls->lse_parent->ls_diseqc_repeats; i++) { @@ -150,7 +150,7 @@ linuxdvb_rotor_gotox_tune /* USALS */ static int linuxdvb_rotor_usals_tune - ( linuxdvb_rotor_t *lr, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) + ( linuxdvb_rotor_t *lr, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) { /* * Code originally written in PR #238 by Jason Millard jsm174 @@ -219,7 +219,7 @@ linuxdvb_rotor_usals_tune static int linuxdvb_rotor_tune - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd ) { linuxdvb_rotor_t *lr = (linuxdvb_rotor_t*)ld; @@ -240,7 +240,7 @@ linuxdvb_rotor_tune static int linuxdvb_rotor_grace - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm ) { return 120; // TODO: calculate approx period } diff --git a/src/input/mpegts/linuxdvb/linuxdvb_satconf.c b/src/input/mpegts/linuxdvb/linuxdvb_satconf.c index 387fcf61..89412ea5 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_satconf.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_satconf.c @@ -596,7 +596,7 @@ linuxdvb_satconf_get_grace /* Add diseqc delay */ for (i = 0; i < 3; i++) { if (lds[i] && lds[i]->ld_grace) - r += lds[i]->ld_grace(lds[i], (linuxdvb_mux_t*)mm); + r += lds[i]->ld_grace(lds[i], (dvb_mux_t*)mm); } return r; @@ -614,7 +614,7 @@ linuxdvb_satconf_ele_tune ( linuxdvb_satconf_ele_t *lse ) /* Get beans in a row */ mpegts_mux_instance_t *mmi = ls->ls_mmi; linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)ls->ls_frontend; - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mmi->mmi_mux; + dvb_mux_t *lm = (dvb_mux_t*)mmi->mmi_mux; linuxdvb_diseqc_t *lds[] = { lse->lse_rotor ? (linuxdvb_diseqc_t*)lse->lse_switch : NULL, (linuxdvb_diseqc_t*)lse->lse_rotor, @@ -680,7 +680,7 @@ linuxdvb_satconf_start_mux uint32_t f; linuxdvb_satconf_ele_t *lse = linuxdvb_satconf_find_ele(ls, mmi->mmi_mux); linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)ls->ls_frontend; - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mmi->mmi_mux; + dvb_mux_t *lm = (dvb_mux_t*)mmi->mmi_mux; /* Test run */ // Note: basically this ensures the tuning params are acceptable diff --git a/src/input/mpegts/linuxdvb/linuxdvb_switch.c b/src/input/mpegts/linuxdvb/linuxdvb_switch.c index b45f0d8c..f795dc72 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_switch.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_switch.c @@ -113,7 +113,7 @@ const idclass_t linuxdvb_switch_class = static int linuxdvb_switch_tune - ( linuxdvb_diseqc_t *ld, linuxdvb_mux_t *lm, linuxdvb_satconf_ele_t *sc, int fd ) + ( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *sc, int fd ) { int i, com, r1 = 0, r2 = 0; int pol, band; diff --git a/src/input/mpegts/mpegts_dvb.h b/src/input/mpegts/mpegts_dvb.h index bf0d7abe..5c3ed2bd 100644 --- a/src/input/mpegts/mpegts_dvb.h +++ b/src/input/mpegts/mpegts_dvb.h @@ -46,4 +46,29 @@ dvb_network_t *dvb_network_find_by_uuid(const char *uuid); dvb_network_t *dvb_network_create0 ( const char *uuid, const idclass_t *idc, htsmsg_t *conf ); +/* + * + */ +typedef struct dvb_mux +{ + mpegts_mux_t; + + /* + * Tuning information + */ + dvb_mux_conf_t lm_tuning; +} dvb_mux_t; + +extern const idclass_t dvb_mux_dvbt_class; +extern const idclass_t dvb_mux_dvbc_class; +extern const idclass_t dvb_mux_dvbs_class; +extern const idclass_t dvb_mux_atsc_class; + +dvb_mux_t *dvb_mux_create0 + (dvb_network_t *ln, uint16_t onid, uint16_t tsid, + const dvb_mux_conf_t *dmc, const char *uuid, htsmsg_t *conf); + +#define dvb_mux_create1(n, u, c)\ + dvb_mux_create0(n, MPEGTS_ONID_NONE, MPEGTS_TSID_NONE, NULL, u, c) + #endif /* __TVH_MPEGTS_DVB_H__ */ diff --git a/src/input/mpegts/linuxdvb/linuxdvb_mux.c b/src/input/mpegts/mpegts_mux_dvb.c similarity index 62% rename from src/input/mpegts/linuxdvb/linuxdvb_mux.c rename to src/input/mpegts/mpegts_mux_dvb.c index 568c931f..ac37b5eb 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_mux.c +++ b/src/input/mpegts/mpegts_mux_dvb.c @@ -19,7 +19,7 @@ #include "tvheadend.h" #include "input.h" -#include "linuxdvb_private.h" +#include "mpegts_dvb.h" #include "queue.h" #include "settings.h" @@ -36,7 +36,7 @@ * *************************************************************************/ static void -linuxdvb_mux_delete ( mpegts_mux_t *mm, int delconf ); +dvb_mux_delete ( mpegts_mux_t *mm, int delconf ); extern const idclass_t mpegts_mux_class; @@ -45,24 +45,24 @@ extern const idclass_t mpegts_mux_class; */ /* Macro to define mux class str get/set */ -#define linuxdvb_mux_class_R(c, f, l, ...)\ +#define dvb_mux_class_R(c, f, l, ...)\ static const void * \ -linuxdvb_mux_##c##_class_##l##_get (void *o)\ +dvb_mux_##c##_class_##l##_get (void *o)\ {\ static const char *s;\ - linuxdvb_mux_t *lm = o;\ + dvb_mux_t *lm = o;\ s = dvb_##l##2str(lm->lm_tuning.dmc_fe_##f);\ return &s;\ }\ static int \ -linuxdvb_mux_##c##_class_##l##_set (void *o, const void *v)\ +dvb_mux_##c##_class_##l##_set (void *o, const void *v)\ {\ - linuxdvb_mux_t *lm = o;\ + dvb_mux_t *lm = o;\ lm->lm_tuning.dmc_fe_##f = dvb_str2##l ((const char*)v);\ return 1;\ }\ static htsmsg_t *\ -linuxdvb_mux_##c##_class_##l##_enum (void *o)\ +dvb_mux_##c##_class_##l##_enum (void *o)\ {\ static const int t[] = { __VA_ARGS__ };\ int i;\ @@ -71,24 +71,24 @@ linuxdvb_mux_##c##_class_##l##_enum (void *o)\ htsmsg_add_str(m, NULL, dvb_##l##2str(t[i]));\ return m;\ } -#define linuxdvb_mux_class_X(c, f, p, l, ...)\ +#define dvb_mux_class_X(c, f, p, l, ...)\ static const void * \ -linuxdvb_mux_##c##_class_##l##_get (void *o)\ +dvb_mux_##c##_class_##l##_get (void *o)\ {\ static const char *s;\ - linuxdvb_mux_t *lm = o;\ + dvb_mux_t *lm = o;\ s = dvb_##l##2str(lm->lm_tuning.u.dmc_fe_##f.p);\ return &s;\ }\ static int \ -linuxdvb_mux_##c##_class_##l##_set (void *o, const void *v)\ +dvb_mux_##c##_class_##l##_set (void *o, const void *v)\ {\ - linuxdvb_mux_t *lm = o;\ + dvb_mux_t *lm = o;\ lm->lm_tuning.u.dmc_fe_##f.p = dvb_str2##l ((const char*)v);\ return 1;\ }\ static htsmsg_t *\ -linuxdvb_mux_##c##_class_##l##_enum (void *o)\ +dvb_mux_##c##_class_##l##_enum (void *o)\ {\ static const int t[] = { __VA_ARGS__ };\ int i;\ @@ -101,38 +101,37 @@ linuxdvb_mux_##c##_class_##l##_enum (void *o)\ .type = PT_STR,\ .id = _id,\ .name = _name,\ - .get = linuxdvb_mux_##t##_class_##l##_get,\ - .set = linuxdvb_mux_##t##_class_##l##_set,\ - .list = linuxdvb_mux_##t##_class_##l##_enum,\ + .get = dvb_mux_##t##_class_##l##_get,\ + .set = dvb_mux_##t##_class_##l##_set,\ + .list = dvb_mux_##t##_class_##l##_enum,\ .def.s = d static const void * -linuxdvb_mux_class_delsys_get (void *o) +dvb_mux_class_delsys_get (void *o) { static const char *s; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; s = dvb_delsys2str(lm->lm_tuning.dmc_fe_delsys); return &s; } + static int -linuxdvb_mux_class_delsys_set (void *o, const void *v) +dvb_mux_class_delsys_set (void *o, const void *v) { -#if DVB_VER_ATLEAST(5,0) const char *s = v; int delsys = dvb_str2delsys(s); - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; if (delsys != lm->lm_tuning.dmc_fe_delsys) { lm->lm_tuning.dmc_fe_delsys = dvb_str2delsys(s); return 1; } -#endif return 0; } -const idclass_t linuxdvb_mux_class = +const idclass_t dvb_mux_class = { .ic_super = &mpegts_mux_class, - .ic_class = "linuxdvb_mux", + .ic_class = "dvb_mux", .ic_caption = "Linux DVB Multiplex", .ic_properties = (const property_t[]){ {} @@ -143,78 +142,50 @@ const idclass_t linuxdvb_mux_class = * DVB-T */ -linuxdvb_mux_class_X(dvbt, ofdm, bandwidth, bw, - DVB_BANDWIDTH_AUTO - , DVB_BANDWIDTH_8_MHZ, DVB_BANDWIDTH_7_MHZ - , DVB_BANDWIDTH_6_MHZ -#if DVB_VER_ATLEAST(5,4) - , DVB_BANDWIDTH_5_MHZ - , DVB_BANDWIDTH_10_MHZ - , DVB_BANDWIDTH_1_712_MHZ -#endif - ); -linuxdvb_mux_class_R(dvbt, modulation, qam, +dvb_mux_class_X(dvbt, ofdm, bandwidth, bw, + DVB_BANDWIDTH_AUTO, DVB_BANDWIDTH_10_MHZ, + DVB_BANDWIDTH_8_MHZ, DVB_BANDWIDTH_7_MHZ, + DVB_BANDWIDTH_6_MHZ, DVB_BANDWIDTH_5_MHZ, + DVB_BANDWIDTH_1_712_MHZ); +dvb_mux_class_R(dvbt, modulation, qam, DVB_MOD_QAM_AUTO, DVB_MOD_QPSK, DVB_MOD_QAM_16, - DVB_MOD_QAM_64, DVB_MOD_QAM_256 - ); -linuxdvb_mux_class_X(dvbt, ofdm, transmission_mode, mode, - DVB_TRANSMISSION_MODE_AUTO, - DVB_TRANSMISSION_MODE_2K, DVB_TRANSMISSION_MODE_8K -#if DVB_VER_ATLEAST(5,4) - , DVB_TRANSMISSION_MODE_1K, DVB_TRANSMISSION_MODE_16K - , DVB_TRANSMISSION_MODE_32K -#endif - ); -linuxdvb_mux_class_X(dvbt, ofdm, guard_interval, guard, - DVB_GUARD_INTERVAL_AUTO, DVB_GUARD_INTERVAL_1_4, - DVB_GUARD_INTERVAL_1_8, DVB_GUARD_INTERVAL_1_16, - DVB_GUARD_INTERVAL_1_32 -#if DVB_VER_ATLEAST(5,4) - , DVB_GUARD_INTERVAL_1_128, DVB_GUARD_INTERVAL_19_128 - , DVB_GUARD_INTERVAL_19_256 -#endif - ); -linuxdvb_mux_class_X(dvbt, ofdm, hierarchy_information, hier, + DVB_MOD_QAM_64, DVB_MOD_QAM_256); +dvb_mux_class_X(dvbt, ofdm, transmission_mode, mode, + DVB_TRANSMISSION_MODE_AUTO, DVB_TRANSMISSION_MODE_32K, + DVB_TRANSMISSION_MODE_16K, DVB_TRANSMISSION_MODE_8K, + DVB_TRANSMISSION_MODE_2K, DVB_TRANSMISSION_MODE_1K); +dvb_mux_class_X(dvbt, ofdm, guard_interval, guard, + DVB_GUARD_INTERVAL_AUTO, DVB_GUARD_INTERVAL_1_32, + DVB_GUARD_INTERVAL_1_16, DVB_GUARD_INTERVAL_1_8, + DVB_GUARD_INTERVAL_1_4, DVB_GUARD_INTERVAL_1_128, + DVB_GUARD_INTERVAL_19_128, DVB_GUARD_INTERVAL_19_256); +dvb_mux_class_X(dvbt, ofdm, hierarchy_information, hier, DVB_HIERARCHY_AUTO, DVB_HIERARCHY_NONE, - DVB_HIERARCHY_1, DVB_HIERARCHY_2, DVB_HIERARCHY_4 - ); -linuxdvb_mux_class_X(dvbt, ofdm, code_rate_HP, fechi, - DVB_FEC_AUTO, - DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, DVB_FEC_4_5, - DVB_FEC_5_6, DVB_FEC_7_8 -#if DVB_VER_ATLEAST(5,4) - , DVB_FEC_3_5 -#endif - ); -linuxdvb_mux_class_X(dvbt, ofdm, code_rate_LP, feclo, - DVB_FEC_AUTO, - DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, - DVB_FEC_4_5, DVB_FEC_5_6, DVB_FEC_7_8 -#if DVB_VER_ATLEAST(5,4) - , DVB_FEC_3_5 -#endif - ); + DVB_HIERARCHY_1, DVB_HIERARCHY_2, DVB_HIERARCHY_4); +dvb_mux_class_X(dvbt, ofdm, code_rate_HP, fechi, + DVB_FEC_AUTO, DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, + DVB_FEC_3_5, DVB_FEC_4_5, DVB_FEC_5_6, DVB_FEC_7_8); +dvb_mux_class_X(dvbt, ofdm, code_rate_LP, feclo, + DVB_FEC_AUTO, DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, + DVB_FEC_3_5, DVB_FEC_4_5, DVB_FEC_5_6, DVB_FEC_7_8); + +#define dvb_mux_dvbt_class_delsys_get dvb_mux_class_delsys_get +#define dvb_mux_dvbt_class_delsys_set dvb_mux_class_delsys_set -#define linuxdvb_mux_dvbt_class_delsys_get linuxdvb_mux_class_delsys_get -#define linuxdvb_mux_dvbt_class_delsys_set linuxdvb_mux_class_delsys_set static htsmsg_t * -linuxdvb_mux_dvbt_class_delsys_enum (void *o) +dvb_mux_dvbt_class_delsys_enum (void *o) { htsmsg_t *list = htsmsg_create_list(); -#if DVB_VER_ATLEAST(5,0) htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBT)); -#endif -#if DVB_VER_ATLEAST(5,4) htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBT2)); htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_TURBO)); -#endif return list; } -const idclass_t linuxdvb_mux_dvbt_class = +const idclass_t dvb_mux_dvbt_class = { - .ic_super = &linuxdvb_mux_class, - .ic_class = "linuxdvb_mux_dvbt", + .ic_super = &dvb_mux_class, + .ic_class = "dvb_mux_dvbt", .ic_caption = "Linux DVB-T Multiplex", .ic_properties = (const property_t[]){ { @@ -225,7 +196,7 @@ const idclass_t linuxdvb_mux_dvbt_class = .id = "frequency", .name = "Frequency (Hz)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.dmc_fe_freq), + .off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_freq), }, { MUX_PROP_STR("bandwidth", "Bandwidth", dvbt, bw, "AUTO") @@ -256,39 +227,30 @@ const idclass_t linuxdvb_mux_dvbt_class = * DVB-C */ -linuxdvb_mux_class_R(dvbc, modulation, qam, +dvb_mux_class_R(dvbc, modulation, qam, DVB_MOD_QAM_AUTO, DVB_MOD_QAM_16, DVB_MOD_QAM_32, - DVB_MOD_QAM_64, DVB_MOD_QAM_128, DVB_MOD_QAM_256 - ); -linuxdvb_mux_class_X(dvbc, qam, fec_inner, fec, + DVB_MOD_QAM_64, DVB_MOD_QAM_128, DVB_MOD_QAM_256); +dvb_mux_class_X(dvbc, qam, fec_inner, fec, DVB_FEC_AUTO, DVB_FEC_NONE, DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, DVB_FEC_4_5, - DVB_FEC_5_6, DVB_FEC_8_9 -#if DVB_VER_ATLEAST(5,4) - , DVB_FEC_9_10 -#endif - ); + DVB_FEC_5_6, DVB_FEC_8_9, DVB_FEC_9_10); -#define linuxdvb_mux_dvbc_class_delsys_get linuxdvb_mux_class_delsys_get -#define linuxdvb_mux_dvbc_class_delsys_set linuxdvb_mux_class_delsys_set +#define dvb_mux_dvbc_class_delsys_get dvb_mux_class_delsys_get +#define dvb_mux_dvbc_class_delsys_set dvb_mux_class_delsys_set static htsmsg_t * -linuxdvb_mux_dvbc_class_delsys_enum (void *o) +dvb_mux_dvbc_class_delsys_enum (void *o) { htsmsg_t *list = htsmsg_create_list(); -#if DVB_VER_ATLEAST(5,0) htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBC_ANNEX_A)); htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBC_ANNEX_B)); -#if DVB_VER_ATLEAST(5,3) htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBC_ANNEX_C)); -#endif -#endif return list; } -const idclass_t linuxdvb_mux_dvbc_class = +const idclass_t dvb_mux_dvbc_class = { - .ic_super = &linuxdvb_mux_class, - .ic_class = "linuxdvb_mux_dvbc", + .ic_super = &dvb_mux_class, + .ic_class = "dvb_mux_dvbc", .ic_caption = "Linux DVB-C Multiplex", .ic_properties = (const property_t[]){ { @@ -299,14 +261,14 @@ const idclass_t linuxdvb_mux_dvbc_class = .id = "frequency", .name = "Frequency (Hz)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.dmc_fe_freq), + .off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_freq), }, { .type = PT_U32, .id = "symbolrate", .name = "Symbol Rate (Sym/s)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.u.dmc_fe_qam.symbol_rate), + .off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_qam.symbol_rate), }, { MUX_PROP_STR("constellation", "Constellation", dvbc, qam, "AUTO") @@ -318,31 +280,31 @@ const idclass_t linuxdvb_mux_dvbc_class = } }; -linuxdvb_mux_class_X(dvbs, qpsk, fec_inner, fec, +dvb_mux_class_X(dvbs, qpsk, fec_inner, fec, DVB_FEC_AUTO, DVB_FEC_NONE, - DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, DVB_FEC_4_5, - DVB_FEC_5_6, DVB_FEC_7_8, DVB_FEC_8_9 -#if DVB_VER_ATLEAST(5,4) - , DVB_FEC_3_5, DVB_FEC_9_10 -#endif - ); + DVB_FEC_1_2, DVB_FEC_2_3, DVB_FEC_3_4, DVB_FEC_3_5, + DVB_FEC_4_5, DVB_FEC_5_6, DVB_FEC_7_8, DVB_FEC_8_9, + DVB_FEC_9_10); + static const void * -linuxdvb_mux_dvbs_class_polarity_get (void *o) +dvb_mux_dvbs_class_polarity_get (void *o) { static const char *s; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; s = dvb_pol2str(lm->lm_tuning.u.dmc_fe_qpsk.polarisation); return &s; } + static int -linuxdvb_mux_dvbs_class_polarity_set (void *o, const void *s) +dvb_mux_dvbs_class_polarity_set (void *o, const void *s) { - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; lm->lm_tuning.u.dmc_fe_qpsk.polarisation = dvb_str2pol((const char*)s); return 1; } + static htsmsg_t * -linuxdvb_mux_dvbs_class_polarity_enum (void *o) +dvb_mux_dvbs_class_polarity_enum (void *o) { htsmsg_t *list = htsmsg_create_list(); htsmsg_add_str(list, NULL, dvb_pol2str(DVB_POLARISATION_VERTICAL)); @@ -353,57 +315,58 @@ linuxdvb_mux_dvbs_class_polarity_enum (void *o) } static const void * -linuxdvb_mux_dvbs_class_modulation_get ( void *o ) +dvb_mux_dvbs_class_modulation_get ( void *o ) { static const char *s; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; s = dvb_qam2str(lm->lm_tuning.dmc_fe_modulation); return &s; } + static int -linuxdvb_mux_dvbs_class_modulation_set (void *o, const void *s) +dvb_mux_dvbs_class_modulation_set (void *o, const void *s) { int mod = dvb_str2qam(s); - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; if (mod != lm->lm_tuning.dmc_fe_modulation) { lm->lm_tuning.dmc_fe_modulation = mod; return 1; } return 0; } + static htsmsg_t * -linuxdvb_mux_dvbs_class_modulation_list ( void *o ) +dvb_mux_dvbs_class_modulation_list ( void *o ) { htsmsg_t *list = htsmsg_create_list(); - htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_QAM_AUTO)); + htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_AUTO)); htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_QPSK)); htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_QAM_16)); -#if DVB_VER_ATLEAST(5,4) htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_PSK_8)); htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_APSK_16)); htsmsg_add_str(list, NULL, dvb_qam2str(DVB_MOD_APSK_32)); -#endif return list; } -#if DVB_VER_ATLEAST(5,0) static const void * -linuxdvb_mux_dvbs_class_rolloff_get ( void *o ) +dvb_mux_dvbs_class_rolloff_get ( void *o ) { static const char *s; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; s = dvb_rolloff2str(lm->lm_tuning.dmc_fe_rolloff); return &s; } + static int -linuxdvb_mux_dvbs_class_rolloff_set ( void *o, const void *s ) +dvb_mux_dvbs_class_rolloff_set ( void *o, const void *s ) { - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; lm->lm_tuning.dmc_fe_rolloff = dvb_str2rolloff(s); return 1; } + static htsmsg_t * -linuxdvb_mux_dvbs_class_rolloff_list ( void *o ) +dvb_mux_dvbs_class_rolloff_list ( void *o ) { htsmsg_t *list = htsmsg_create_list(); htsmsg_add_str(list, NULL, dvb_rolloff2str(DVB_ROLLOFF_35)); @@ -416,22 +379,23 @@ linuxdvb_mux_dvbs_class_rolloff_list ( void *o ) } static const void * -linuxdvb_mux_dvbs_class_pilot_get ( void *o ) +dvb_mux_dvbs_class_pilot_get ( void *o ) { static const char *s; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; s = dvb_pilot2str(lm->lm_tuning.dmc_fe_pilot); return &s; } + static int -linuxdvb_mux_dvbs_class_pilot_set ( void *o, const void *s ) +dvb_mux_dvbs_class_pilot_set ( void *o, const void *s ) { - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; lm->lm_tuning.dmc_fe_pilot = dvb_str2pilot(s); return 1; } static htsmsg_t * -linuxdvb_mux_dvbs_class_pilot_list ( void *o ) +dvb_mux_dvbs_class_pilot_list ( void *o ) { htsmsg_t *list = htsmsg_create_list(); htsmsg_add_str(list, NULL, dvb_pilot2str(DVB_PILOT_AUTO)); @@ -439,12 +403,12 @@ linuxdvb_mux_dvbs_class_pilot_list ( void *o ) htsmsg_add_str(list, NULL, dvb_pilot2str(DVB_PILOT_OFF)); return list; } -#endif -#define linuxdvb_mux_dvbs_class_delsys_get linuxdvb_mux_class_delsys_get -#define linuxdvb_mux_dvbs_class_delsys_set linuxdvb_mux_class_delsys_set +#define dvb_mux_dvbs_class_delsys_get dvb_mux_class_delsys_get +#define dvb_mux_dvbs_class_delsys_set dvb_mux_class_delsys_set + static htsmsg_t * -linuxdvb_mux_dvbs_class_delsys_enum (void *o) +dvb_mux_dvbs_class_delsys_enum (void *o) { htsmsg_t *list = htsmsg_create_list(); htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_DVBS)); @@ -453,10 +417,10 @@ linuxdvb_mux_dvbs_class_delsys_enum (void *o) } static const void * -linuxdvb_mux_dvbs_class_orbital_get ( void *o ) +dvb_mux_dvbs_class_orbital_get ( void *o ) { static char buf[256], *s = buf; - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; snprintf(buf, sizeof(buf), "%0.1f%c", lm->lm_tuning.u.dmc_fe_qpsk.orbital_pos / 10.0, lm->lm_tuning.u.dmc_fe_qpsk.orbital_dir); @@ -464,12 +428,12 @@ linuxdvb_mux_dvbs_class_orbital_get ( void *o ) } static int -linuxdvb_mux_dvbs_class_orbital_set ( void *o, const void *s ) +dvb_mux_dvbs_class_orbital_set ( void *o, const void *s ) { int pos, save = 0; char dir; char *tmp = tvh_strdupa(s); - linuxdvb_mux_t *lm = o; + dvb_mux_t *lm = o; dir = tmp[strlen(tmp)-1]; tmp[strlen(tmp)-1] = '\0'; @@ -484,10 +448,10 @@ linuxdvb_mux_dvbs_class_orbital_set ( void *o, const void *s ) return save; } -const idclass_t linuxdvb_mux_dvbs_class = +const idclass_t dvb_mux_dvbs_class = { - .ic_super = &linuxdvb_mux_class, - .ic_class = "linuxdvb_mux_dvbs", + .ic_super = &dvb_mux_class, + .ic_class = "dvb_mux_dvbs", .ic_caption = "Linux DVB-S Multiplex", .ic_properties = (const property_t[]){ { @@ -498,14 +462,14 @@ const idclass_t linuxdvb_mux_dvbs_class = .id = "frequency", .name = "Frequency (kHz)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.dmc_fe_freq), + .off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_freq), }, { .type = PT_U32, .id = "symbolrate", .name = "Symbol Rate (Sym/s)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.u.dmc_fe_qpsk.symbol_rate), + .off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_qpsk.symbol_rate), }, { MUX_PROP_STR("polarisation", "Polarisation", dvbs, polarity, NULL) @@ -514,22 +478,21 @@ const idclass_t linuxdvb_mux_dvbs_class = .type = PT_STR, .id = "modulation", .name = "Modulation", - .set = linuxdvb_mux_dvbs_class_modulation_set, - .get = linuxdvb_mux_dvbs_class_modulation_get, - .list = linuxdvb_mux_dvbs_class_modulation_list, + .set = dvb_mux_dvbs_class_modulation_set, + .get = dvb_mux_dvbs_class_modulation_get, + .list = dvb_mux_dvbs_class_modulation_list, .def.s = "AUTO", }, { MUX_PROP_STR("fec", "FEC", dvbs, fec, "AUTO") }, -#if DVB_VER_ATLEAST(5,0) { .type = PT_STR, .id = "rolloff", .name = "Rolloff", - .set = linuxdvb_mux_dvbs_class_rolloff_set, - .get = linuxdvb_mux_dvbs_class_rolloff_get, - .list = linuxdvb_mux_dvbs_class_rolloff_list, + .set = dvb_mux_dvbs_class_rolloff_set, + .get = dvb_mux_dvbs_class_rolloff_get, + .list = dvb_mux_dvbs_class_rolloff_list, .def.s = "AUTO" }, { @@ -537,43 +500,41 @@ const idclass_t linuxdvb_mux_dvbs_class = .id = "pilot", .name = "Pilot", .opts = PO_ADVANCED, - .set = linuxdvb_mux_dvbs_class_pilot_set, - .get = linuxdvb_mux_dvbs_class_pilot_get, - .list = linuxdvb_mux_dvbs_class_pilot_list, + .set = dvb_mux_dvbs_class_pilot_set, + .get = dvb_mux_dvbs_class_pilot_get, + .list = dvb_mux_dvbs_class_pilot_list, }, -#endif { .type = PT_STR, .id = "orbital", .name = "Orbital Pos.", - .set = linuxdvb_mux_dvbs_class_orbital_set, - .get = linuxdvb_mux_dvbs_class_orbital_get, + .set = dvb_mux_dvbs_class_orbital_set, + .get = dvb_mux_dvbs_class_orbital_get, .opts = PO_ADVANCED | PO_RDONLY }, {} } }; -#define linuxdvb_mux_atsc_class_delsys_get linuxdvb_mux_class_delsys_get -#define linuxdvb_mux_atsc_class_delsys_set linuxdvb_mux_class_delsys_set +#define dvb_mux_atsc_class_delsys_get dvb_mux_class_delsys_get +#define dvb_mux_atsc_class_delsys_set dvb_mux_class_delsys_set + static htsmsg_t * -linuxdvb_mux_atsc_class_delsys_enum (void *o) +dvb_mux_atsc_class_delsys_enum (void *o) { htsmsg_t *list = htsmsg_create_list(); -#if DVB_VER_ATLEAST(5,0) htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_ATSC)); htsmsg_add_str(list, NULL, dvb_delsys2str(DVB_SYS_ATSCMH)); -#endif return list; } -linuxdvb_mux_class_R(atsc, modulation, qam, +dvb_mux_class_R(atsc, modulation, qam, DVB_MOD_QAM_AUTO, DVB_MOD_QAM_256, DVB_MOD_VSB_8); -const idclass_t linuxdvb_mux_atsc_class = +const idclass_t dvb_mux_atsc_class = { - .ic_super = &linuxdvb_mux_class, - .ic_class = "linuxdvb_mux_atsc", + .ic_super = &dvb_mux_class, + .ic_class = "dvb_mux_atsc", .ic_caption = "Linux ATSC Multiplex", .ic_properties = (const property_t[]){ { @@ -584,7 +545,7 @@ const idclass_t linuxdvb_mux_atsc_class = .id = "frequency", .name = "Frequency (kHz)", .opts = PO_WRONCE, - .off = offsetof(linuxdvb_mux_t, lm_tuning.dmc_fe_freq), + .off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_freq), }, { MUX_PROP_STR("modulation", "Modulation", atsc, qam, "AUTO") @@ -598,20 +559,20 @@ const idclass_t linuxdvb_mux_atsc_class = * *************************************************************************/ static void -linuxdvb_mux_config_save ( mpegts_mux_t *mm ) +dvb_mux_config_save ( mpegts_mux_t *mm ) { htsmsg_t *c = htsmsg_create_map(); mpegts_mux_save(mm, c); - hts_settings_save(c, "input/linuxdvb/networks/%s/muxes/%s/config", + hts_settings_save(c, "input/dvb/networks/%s/muxes/%s/config", idnode_uuid_as_str(&mm->mm_network->mn_id), idnode_uuid_as_str(&mm->mm_id)); htsmsg_destroy(c); } static void -linuxdvb_mux_display_name ( mpegts_mux_t *mm, char *buf, size_t len ) +dvb_mux_display_name ( mpegts_mux_t *mm, char *buf, size_t len ) { - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mm; + dvb_mux_t *lm = (dvb_mux_t*)mm; dvb_network_t *ln = (dvb_network_t*)mm->mm_network; uint32_t freq = lm->lm_tuning.dmc_fe_freq; char pol[2] = { 0 }; @@ -626,7 +587,7 @@ linuxdvb_mux_display_name ( mpegts_mux_t *mm, char *buf, size_t len ) } static void -linuxdvb_mux_create_instances ( mpegts_mux_t *mm ) +dvb_mux_create_instances ( mpegts_mux_t *mm ) { mpegts_network_link_t *mnl; LIST_FOREACH(mnl, &mm->mm_network->mn_inputs, mnl_mn_link) { @@ -637,11 +598,11 @@ linuxdvb_mux_create_instances ( mpegts_mux_t *mm ) } static void -linuxdvb_mux_delete ( mpegts_mux_t *mm, int delconf ) +dvb_mux_delete ( mpegts_mux_t *mm, int delconf ) { /* Remove config */ if (delconf) - hts_settings_remove("input/linuxdvb/networks/%s/muxes/%s", + hts_settings_remove("input/dvb/networks/%s/muxes/%s", idnode_uuid_as_str(&mm->mm_network->mn_id), idnode_uuid_as_str(&mm->mm_id)); @@ -653,15 +614,15 @@ linuxdvb_mux_delete ( mpegts_mux_t *mm, int delconf ) * Creation/Config * *************************************************************************/ -linuxdvb_mux_t * -linuxdvb_mux_create0 +dvb_mux_t * +dvb_mux_create0 ( dvb_network_t *ln, uint16_t onid, uint16_t tsid, const dvb_mux_conf_t *dmc, const char *uuid, htsmsg_t *conf ) { const idclass_t *idc; mpegts_mux_t *mm; - linuxdvb_mux_t *lm; + dvb_mux_t *lm; htsmsg_t *c, *e; htsmsg_field_t *f; mpegts_service_t *ts; @@ -669,23 +630,23 @@ linuxdvb_mux_create0 /* Class */ if (ln->ln_type == DVB_TYPE_S) - idc = &linuxdvb_mux_dvbs_class; + idc = &dvb_mux_dvbs_class; else if (ln->ln_type == DVB_TYPE_C) - idc = &linuxdvb_mux_dvbc_class; + idc = &dvb_mux_dvbc_class; else if (ln->ln_type == DVB_TYPE_T) - idc = &linuxdvb_mux_dvbt_class; + idc = &dvb_mux_dvbt_class; else if (ln->ln_type == DVB_TYPE_ATSC) - idc = &linuxdvb_mux_atsc_class; + idc = &dvb_mux_atsc_class; else { - tvherror("linuxdvb", "unknown FE type %d", ln->ln_type); + tvherror("dvb", "unknown FE type %d", ln->ln_type); return NULL; } /* Create */ - if (!(mm = mpegts_mux_create0(calloc(1, sizeof(linuxdvb_mux_t)), idc, uuid, + if (!(mm = mpegts_mux_create0(calloc(1, sizeof(dvb_mux_t)), idc, uuid, (mpegts_network_t*)ln, onid, tsid, conf))) return NULL; - lm = (linuxdvb_mux_t*)mm; + lm = (dvb_mux_t*)mm; lm->lm_tuning.dmc_fe_type = ln->ln_type; /* Tuning */ @@ -695,17 +656,15 @@ linuxdvb_mux_create0 } /* Callbacks */ - lm->mm_delete = linuxdvb_mux_delete; - lm->mm_display_name = linuxdvb_mux_display_name; - lm->mm_config_save = linuxdvb_mux_config_save; - lm->mm_create_instances = linuxdvb_mux_create_instances; + lm->mm_delete = dvb_mux_delete; + lm->mm_display_name = dvb_mux_display_name; + lm->mm_config_save = dvb_mux_config_save; + lm->mm_create_instances = dvb_mux_create_instances; /* Defaults */ if (dmc == NULL) { lm->lm_tuning.dmc_fe_inversion = DVB_INVERSION_AUTO; -#if DVB_VER_ATLEAST(5,0) lm->lm_tuning.dmc_fe_pilot = DVB_PILOT_AUTO; -#endif } /* No config */ diff --git a/src/input/mpegts/mpegts_network_dvb.c b/src/input/mpegts/mpegts_network_dvb.c index 852317a7..6b7efa5c 100644 --- a/src/input/mpegts/mpegts_network_dvb.c +++ b/src/input/mpegts/mpegts_network_dvb.c @@ -78,10 +78,10 @@ dvb_network_class_scanfile_set ( void *o, const void *s ) /* Create */ LIST_FOREACH(dmc, &sfn->sfn_muxes, dmc_link) { if (!(mm = dvb_network_find_mux(o, dmc))) { - mm = (mpegts_mux_t*)linuxdvb_mux_create0(o, - MPEGTS_ONID_NONE, - MPEGTS_TSID_NONE, - dmc, NULL, NULL); + mm = (mpegts_mux_t*)dvb_mux_create0(o, + MPEGTS_ONID_NONE, + MPEGTS_TSID_NONE, + dmc, NULL, NULL); if (mm) mm->mm_config_save(mm); } @@ -217,7 +217,7 @@ dvb_network_find_mux { mpegts_mux_t *mm; LIST_FOREACH(mm, &ln->mn_muxes, mm_network_link) { - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mm; + dvb_mux_t *lm = (dvb_mux_t*)mm; if (abs(lm->lm_tuning.dmc_fe_freq - dmc->dmc_fe_freq) > LINUXDVB_FREQ_TOL) continue; if (lm->lm_tuning.u.dmc_fe_qpsk.polarisation != dmc->u.dmc_fe_qpsk.polarisation) continue; @@ -245,10 +245,10 @@ dvb_network_create_mux dvb_network_t *ln = (dvb_network_t*)mm->mm_network; mm = dvb_network_find_mux(ln, dmc); if (!mm && ln->mn_autodiscovery) { - mm = (mpegts_mux_t*)linuxdvb_mux_create0(ln, onid, tsid, dmc, NULL, NULL); + mm = (mpegts_mux_t*)dvb_mux_create0(ln, onid, tsid, dmc, NULL, NULL); save = 1; } else if (mm) { - linuxdvb_mux_t *lm = (linuxdvb_mux_t*)mm; + dvb_mux_t *lm = (dvb_mux_t*)mm; dmc->dmc_fe_freq = lm->lm_tuning.dmc_fe_freq; // Note: keep original freq, else it can bounce around if diff transponders // report it slightly differently. @@ -274,18 +274,14 @@ static const idclass_t * dvb_network_mux_class ( mpegts_network_t *mn ) { - extern const idclass_t linuxdvb_mux_dvbt_class; - extern const idclass_t linuxdvb_mux_dvbc_class; - extern const idclass_t linuxdvb_mux_dvbs_class; - extern const idclass_t linuxdvb_mux_atsc_class; if (idnode_is_instance(&mn->mn_id, &dvb_network_dvbt_class)) - return &linuxdvb_mux_dvbt_class; + return &dvb_mux_dvbt_class; if (idnode_is_instance(&mn->mn_id, &dvb_network_dvbc_class)) - return &linuxdvb_mux_dvbc_class; + return &dvb_mux_dvbc_class; if (idnode_is_instance(&mn->mn_id, &dvb_network_dvbs_class)) - return &linuxdvb_mux_dvbs_class; + return &dvb_mux_dvbs_class; if (idnode_is_instance(&mn->mn_id, &dvb_network_atsc_class)) - return &linuxdvb_mux_atsc_class; + return &dvb_mux_atsc_class; return NULL; } @@ -295,8 +291,8 @@ dvb_network_mux_create2 { dvb_network_t *ln = (dvb_network_t*)mn; return (mpegts_mux_t*) - linuxdvb_mux_create0(ln, MPEGTS_ONID_NONE, MPEGTS_TSID_NONE, - NULL, NULL, conf); + dvb_mux_create0(ln, MPEGTS_ONID_NONE, MPEGTS_TSID_NONE, + NULL, NULL, conf); } /* **************************************************************************** @@ -349,7 +345,7 @@ dvb_network_create0 HTSMSG_FOREACH(f, c) { if (!(e = htsmsg_get_map_by_field(f))) continue; if (!(e = htsmsg_get_map(e, "config"))) continue; - mm = (mpegts_mux_t *)linuxdvb_mux_create1(ln, f->hmf_name, e); + mm = (mpegts_mux_t *)dvb_mux_create1(ln, f->hmf_name, e); if (mm && move) mm->mm_config_save(mm); }