]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
separate capmt and cwc config
authorJaroslav Kysela <perex@perex.cz>
Fri, 30 May 2014 11:38:29 +0000 (13:38 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 10 Jun 2014 12:02:35 +0000 (14:02 +0200)
Makefile
configure
src/descrambler/descrambler.c
src/main.c
src/webui/extjs.c
src/webui/static/app/tvheadend.js

index 5c22f0b16c7d237de81d579aadcf104c7fecdf55..1347e5301a6b57d7c2b82f3851815d9813271347 100644 (file)
--- 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
index e125992d8e0f90f1826eff1a799cf3d4767c3de2..1cc91c4e1fefa321b9945093ef69946c7e9376fb 100755 (executable)
--- 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
 
 #
index 24075a887664a60931e25a9d018065c0fbd4f3b5..83a9a7251b372eff2f529cc950401def43039e8e 100755 (executable)
@@ -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
 }
index 344f18b928fc4a01beb57188f07ab68e9a2629ca..7b73323a307fe799106cc6a3c3e6e22b42483c7c 100644 (file)
@@ -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
index ea35b550930de5a58bf34b2c4e544377c6869264..fc8a57fee584aa385fc31fa2fd31b2eb2412a506 100755 (executable)
@@ -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");
index bc864c51d9cf41675c677c1e1f9ed15178a3db2a..6fcb75206e8382221f1ced7a343d0ff873ea35b1 100644 (file)
@@ -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,