From: Jaroslav Kysela Date: Fri, 12 May 2017 19:37:46 +0000 (+0200) Subject: capmt: reorder preferred modes, add class doc X-Git-Tag: v4.2.2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=506e23afd8bceee09853b16572f4bf125906f7cf;p=thirdparty%2Ftvheadend.git capmt: reorder preferred modes, add class doc --- diff --git a/docs/class/caclient_capmt.md b/docs/class/caclient_capmt.md new file mode 100644 index 000000000..1c2078aa7 --- /dev/null +++ b/docs/class/caclient_capmt.md @@ -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. + +--- diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index ee24b3200..ffb98559e 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -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 },