]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
capmt: reorder preferred modes, add class doc
authorJaroslav Kysela <perex@perex.cz>
Fri, 12 May 2017 19:37:46 +0000 (21:37 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 12 May 2017 19:46:03 +0000 (21:46 +0200)
docs/class/caclient_capmt.md [new file with mode: 0644]
src/descrambler/capmt.c

diff --git a/docs/class/caclient_capmt.md b/docs/class/caclient_capmt.md
new file mode 100644 (file)
index 0000000..1c2078a
--- /dev/null
@@ -0,0 +1,86 @@
+---
+
+#### OSCam net protocol (rev >= 10389)
+
+**This is the most preferred mode for the latest OSCam.** It supports
+the latest features like the ecm status.
+
+A TCP connection to server is created. All emm/ecm data are send to
+oscam using this connection without a requirement for the real linuxdvb
+devices in the system with OSCam. This mode is suitable for all DVB
+devices including SAT\>IP and IPTV.
+
+If you run your OSCam server on the same machine as TVHeadend, set
+*Camd.socket filename / IP Address (TCP mode)* field to 127.0.0.1
+and *Listen / Connect port* to 9000 (or any your preferred TCP port
+number). Note that this TCP port number must be same as in OSCam's
+configuration.
+
+The following lines are required in **[dvbapi]** section of oscam.conf
+file:
+
+```
+boxtype = pc
+pmt_mode = 4
+listen_port = 9000 # or your preferred port
+```
+
+#### OSCam new pc-nodmx (rev >= 10389)
+
+Similar to *OSCam net protocol (rev >= 10389)* mode, but a named
+pipe (/tmp/camd.socket) connection is used instead of the TCP connection.
+
+#### OSCam TCP (rev >= 9574)
+
+A TCP connection to server is created. All emm/ecm data are send to
+oscam using this connection without a requirement for the real linuxdvb
+devices in the system with OSCam. This mode is suitable for all DVB
+devices including SAT\>IP and IPTV.
+
+The following lines are required in **[dvbapi]** section of oscam.conf
+file:
+
+```
+boxtype = pc
+pmt_mode = 4
+listen_port = 9000 # or your preferred port
+```
+
+#### OSCam pc-nodmx (rev >= 9756)
+
+Similar to *OSCAM TCP (rev >= 9574)* mode, but a named pipe
+(/tmp/camd.socket) connection is used instead of the TCP connection.
+
+#### OSCam (rev >= 9095)
+
+This mode uses named pipe (/tmp/camd.socket).
+
+The difference between *Older OSCam* mode is that no UDP connections
+are required. All communication is processed through the named pipe
+(/tmp/camd.socket). The configuration for OSCam is same as for previous
+*Older OSCam* mode.
+
+#### Older OSCam
+
+This mode uses named pipe (/tmp/camd.socket).
+
+If selected, connection will be made directly to oscam without using
+LD\_PRELOAD / wrapper hack. TVH listens on a range of UDP ports
+starting with the specified port number (standard port range starts
+with the port number 9000).
+
+The following lines are required in **[dvbapi]** section of oscam.conf file:
+
+```
+boxtype = pc
+pmt_mode = 4
+```
+
+#### Wrapper (capmt_ca.so)
+
+This mode uses named pipe (/tmp/camd.socket).
+
+LD\_PRELOAD / wrapper hack is active. TVH listens on local specified UDP port
+(standard port number is 9000) for the code words. Only one channel can be decoded.
+
+---
index ee24b3200ca856637186b924cdab7b1dbc6d114a..ffb98559e238d72b1cd3e01f8cf9d48bd0c3551f 100644 (file)
@@ -2358,10 +2358,10 @@ static htsmsg_t *
 caclient_capmt_class_oscam_mode_list ( void *o, const char *lang )
 {
   static const struct strtab tab[] = {
-    { N_("OSCam new pc-nodmx (rev >= 10389)"), CAPMT_OSCAM_UNIX_SOCKET_NP },
     { N_("OSCam net protocol (rev >= 10389)"), CAPMT_OSCAM_NET_PROTO },
-    { N_("OSCam pc-nodmx (rev >= 9756)"),      CAPMT_OSCAM_UNIX_SOCKET },
+    { N_("OSCam new pc-nodmx (rev >= 10389)"), CAPMT_OSCAM_UNIX_SOCKET_NP },
     { N_("OSCam TCP (rev >= 9574)"),           CAPMT_OSCAM_TCP },
+    { N_("OSCam pc-nodmx (rev >= 9756)"),      CAPMT_OSCAM_UNIX_SOCKET },
     { N_("OSCam (rev >= 9095)"),               CAPMT_OSCAM_MULTILIST },
     { N_("Older OSCam"),                       CAPMT_OSCAM_OLD },
     { N_("Wrapper (capmt_ca.so)"),             CAPMT_OSCAM_SO_WRAPPER },
@@ -2369,11 +2369,14 @@ caclient_capmt_class_oscam_mode_list ( void *o, const char *lang )
   return strtab2htsmsg(tab, 1, lang);
 }
 
+CLASS_DOC(caclient_capmt)
+
 const idclass_t caclient_capmt_class =
 {
   .ic_super      = &caclient_class,
   .ic_class      = "caclient_capmt",
   .ic_caption    = N_("CAPMT (Linux Network DVBAPI)"),
+  .ic_doc        = tvh_doc_caclient_capmt_class,
   .ic_properties = (const property_t[]){
     {
       .type     = PT_INT,
@@ -2382,7 +2385,7 @@ const idclass_t caclient_capmt_class =
       .desc     = N_("Oscam mode."),
       .off      = offsetof(capmt_t, capmt_oscam),
       .list     = caclient_capmt_class_oscam_mode_list,
-      .def.i    = CAPMT_OSCAM_MULTILIST,
+      .def.i    = CAPMT_OSCAM_NET_PROTO,
     },
     {
       .type     = PT_STR,
@@ -2390,13 +2393,13 @@ const idclass_t caclient_capmt_class =
       .name     = N_("Camd.socket filename / IP Address (TCP mode)"),
       .desc     = N_("Socket or IP Address (when in TCP mode)."),
       .off      = offsetof(capmt_t, capmt_sockfile),
-      .def.s    = "/tmp/camd.socket",
+      .def.s    = "127.0.0.1",
     },
     {
       .type     = PT_INT,
       .id       = "port",
       .name     = N_("Listen / Connect port"),
-      .desc     = N_("Port to listen on."),
+      .desc     = N_("Port to listen on or to connect to."),
       .off      = offsetof(capmt_t, capmt_port),
       .def.i    = 9000
     },