From: Jaroslav Kysela Date: Fri, 30 May 2014 11:38:29 +0000 (+0200) Subject: separate capmt and cwc config X-Git-Tag: v4.1~1974 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d47354a1716b1c223b410973247424236e3b860f;p=thirdparty%2Ftvheadend.git separate capmt and cwc config --- diff --git a/Makefile b/Makefile index 5c22f0b16..1347e5301 100644 --- a/Makefile +++ b/Makefile @@ -273,24 +273,36 @@ SRCS-$(CONFIG_LIBAV) += src/libav.c \ src/muxer/muxer_libav.c \ src/plumbing/transcoding.c \ +# Tvhcsa +SRCS-${CONFIG_TVHCSA} += \ + src/descrambler/tvhcsa.c + # CWC SRCS-${CONFIG_CWC} += \ - src/descrambler/tvhcsa.c \ src/descrambler/cwc.c \ + +# CAPMT +SRCS-${CONFIG_CAPMT} += \ src/descrambler/capmt.c # FFdecsa ifneq ($(CONFIG_DVBCSA),yes) -SRCS-${CONFIG_CWC} += \ - src/descrambler/ffdecsa/ffdecsa_interface.c \ - src/descrambler/ffdecsa/ffdecsa_int.c ifeq ($(CONFIG_CWC),yes) +SRCS-yes += src/descrambler/ffdecsa/ffdecsa_interface.c \ + src/descrambler/ffdecsa/ffdecsa_int.c +SRCS-${CONFIG_MMX} += src/descrambler/ffdecsa/ffdecsa_mmx.c +SRCS-${CONFIG_SSE2} += src/descrambler/ffdecsa/ffdecsa_sse2.c +else +ifeq ($(CONFIG_CAPMT),yes) +SRCS-yes += src/descrambler/ffdecsa/ffdecsa_interface.c \ + src/descrambler/ffdecsa/ffdecsa_int.c SRCS-${CONFIG_MMX} += src/descrambler/ffdecsa/ffdecsa_mmx.c SRCS-${CONFIG_SSE2} += src/descrambler/ffdecsa/ffdecsa_sse2.c endif ${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx ${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2 endif +endif # File bundles SRCS-${CONFIG_BUNDLE} += bundle.c diff --git a/configure b/configure index e125992d8..1cc91c4e1 100755 --- a/configure +++ b/configure @@ -17,6 +17,7 @@ ROOTDIR=$(cd "$(dirname "$0")"; pwd) OPTIONS=( "cwc:yes" + "capmt:yes" "v4l:no" "linuxdvb:yes" "satip_client:yes" @@ -33,6 +34,7 @@ OPTIONS=( "epoll:auto" "uriparser:auto" "ccache:auto" + "tvhcsa:auto" "bundle:no" "dvbcsa:no" "kqueue:no" @@ -286,13 +288,16 @@ if enabled_or_auto inotify; then fi # -# libdvbcsa +# libdvbcsa, tvhcsa # -if enabled cwc && enabled dvbcsa; then - (check_cc_header "dvbcsa/dvbcsa" dvbcsa_h &&\ - check_cc_lib dvbcsa dvbcsa_l) ||\ - die "Failed to find dvbcsa support (use --disable-dvbcsa)" - LDFLAGS="$LDFLAGS -ldvbcsa" +if enabled cwc || enabled capmt; then + enable tvhcsa + if enabled dvbcsa; then + (check_cc_header "dvbcsa/dvbcsa" dvbcsa_h &&\ + check_cc_lib dvbcsa dvbcsa_l) ||\ + die "Failed to find dvbcsa support (use --disable-dvbcsa)" + LDFLAGS="$LDFLAGS -ldvbcsa" + fi fi # diff --git a/src/descrambler/descrambler.c b/src/descrambler/descrambler.c index 24075a887..83a9a7251 100755 --- a/src/descrambler/descrambler.c +++ b/src/descrambler/descrambler.c @@ -109,18 +109,22 @@ descrambler_init ( void ) { #if ENABLE_CWC cwc_init(); +#endif +#if ENABLE_CAPMT capmt_init(); -#if !ENABLE_DVBCSA - ffdecsa_init(); #endif +#if (ENABLE_CWC || ENABLE_CAPMT) && !ENABLE_DVBCSA + ffdecsa_init(); #endif } void descrambler_done ( void ) { -#if ENABLE_CWC +#if ENABLE_CAPMT capmt_done(); +#endif +#if ENABLE_CWC cwc_done(); #endif } @@ -130,6 +134,8 @@ descrambler_service_start ( service_t *t ) { #if ENABLE_CWC cwc_service_start(t); +#endif +#if ENABLE_CAPMT capmt_service_start(t); #endif } diff --git a/src/main.c b/src/main.c index 344f18b92..7b73323a3 100644 --- a/src/main.c +++ b/src/main.c @@ -136,6 +136,9 @@ const tvh_caps_t tvheadend_capabilities[] = { #if ENABLE_CWC { "cwc", NULL }, #endif +#if ENABLE_CAPMT + { "capmt", NULL }, +#endif #if ENABLE_V4L { "v4l", NULL }, #endif diff --git a/src/webui/extjs.c b/src/webui/extjs.c index ea35b5509..fc8a57fee 100755 --- a/src/webui/extjs.c +++ b/src/webui/extjs.c @@ -145,8 +145,12 @@ extjs_root(http_connection_t *hc, const char *remain, void *opaque) extjs_load(hq, "static/app/tableeditor.js"); extjs_load(hq, "static/app/cteditor.js"); extjs_load(hq, "static/app/acleditor.js"); +#if ENABLE_CWC extjs_load(hq, "static/app/cwceditor.js"); +#endif +#if ENABLE_CAPMT extjs_load(hq, "static/app/capmteditor.js"); +#endif extjs_load(hq, "static/app/tvadapters.js"); extjs_load(hq, "static/app/idnode.js"); extjs_load(hq, "static/app/esfilter.js"); diff --git a/src/webui/static/app/tvheadend.js b/src/webui/static/app/tvheadend.js index bc864c51d..6fcb75206 100644 --- a/src/webui/static/app/tvheadend.js +++ b/src/webui/static/app/tvheadend.js @@ -282,10 +282,12 @@ function accessUpdate(o) { tabs1.push(tvheadend.conf_tsdvr); /* CSA */ - if (tvheadend.capabilities.indexOf('cwc') !== -1) { - tabs2 = [new tvheadend.cwceditor]; - if (tvheadend.capabilities.indexOf('linuxdvb') !== -1) - tabs2.push(new tvheadend.capmteditor); + tabs2 = []; + if (tvheadend.capabilities.indexOf('cwc') !== -1) + tabs2.push(new tvheadend.cwceditor); + if (tvheadend.capabilities.indexOf('capmt') !== -1) + tabs2.push(new tvheadend.capmteditor); + if (tabs2.length > 0) { tvheadend.conf_csa = new Ext.TabPanel({ activeTab: 0, autoScroll: true,