--- /dev/null
+---
+
+#### 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.
+
+---
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 },
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,
.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,
.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
},