mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
The file 'ca.conf' is obsolete and has been removed; revised all descriptions regarding CICAM
This commit is contained in:
parent
2e0a3f273a
commit
e0d5ebf8fd
2
HISTORY
2
HISTORY
@ -4124,3 +4124,5 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed the "Day" field of the "Edit timer" menu when pressing '0' to switch
|
- Fixed the "Day" field of the "Edit timer" menu when pressing '0' to switch
|
||||||
from "single shot" to "weekly", followed by the "Right" key (reported by
|
from "single shot" to "weekly", followed by the "Right" key (reported by
|
||||||
Andreas Böttger).
|
Andreas Böttger).
|
||||||
|
- The file 'ca.conf' is obsolete and has been removed.
|
||||||
|
- Revised all descriptions regarding CICAM.
|
||||||
|
16
MANUAL
16
MANUAL
@ -656,17 +656,11 @@ Version 1.2
|
|||||||
|
|
||||||
CICAM:
|
CICAM:
|
||||||
|
|
||||||
CICAM DVBn m Defines the "Conditional Access" capabilities of the DVB
|
CICAM DVBn m Shows the CAMs that each device contains, where 'n' is
|
||||||
card 'n'. Each DVB card can provide up to two CICAM
|
the number of the device, and 'm' is the number of the
|
||||||
methods ('m' = [1, 2]).
|
Common Interface slot of that device. The "Red" key
|
||||||
|
can be pressed to enter the CAM menu, and the "Green" key
|
||||||
In the 'setup.conf' file the value consists of the card
|
triggers a reset of the selected CAM.
|
||||||
number, followed by a list of decryption method values
|
|
||||||
(defined in 'ca.conf').
|
|
||||||
For instance
|
|
||||||
CaCaps = 3 101 102
|
|
||||||
would define that card number 3 is able to decrypt
|
|
||||||
"Premiere World" and the "ORF".
|
|
||||||
|
|
||||||
Recording:
|
Recording:
|
||||||
|
|
||||||
|
10
channels.h
10
channels.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: channels.h 1.36 2005/09/17 09:59:14 kls Exp $
|
* $Id: channels.h 1.37 2006/01/07 13:00:43 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CHANNELS_H
|
#ifndef __CHANNELS_H
|
||||||
@ -39,6 +39,14 @@
|
|||||||
#define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
|
#define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
|
||||||
#define MAXLANGCODE2 8 // up to two 3 letter language codes, separated by '+' and zero terminated
|
#define MAXLANGCODE2 8 // up to two 3 letter language codes, separated by '+' and zero terminated
|
||||||
|
|
||||||
|
#define CA_FTA 0x0000
|
||||||
|
#define CA_DVB_MIN 0x0001
|
||||||
|
#define CA_DVB_MAX 0x000F
|
||||||
|
#define CA_USER_MIN 0x0010
|
||||||
|
#define CA_USER_MAX 0x00FF
|
||||||
|
#define CA_ENCRYPTED_MIN 0x0100
|
||||||
|
#define CA_ENCRYPTED_MAX 0xFFFF
|
||||||
|
|
||||||
struct tChannelParameterMap {
|
struct tChannelParameterMap {
|
||||||
int userValue;
|
int userValue;
|
||||||
int driverValue;
|
int driverValue;
|
||||||
|
35
config.c
35
config.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.c 1.139 2006/01/04 14:37:54 kls Exp $
|
* $Id: config.c 1.140 2006/01/07 12:28:49 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -120,24 +120,6 @@ bool cSVDRPhost::Accepts(in_addr_t Address)
|
|||||||
return (Address & mask) == addr.s_addr;
|
return (Address & mask) == addr.s_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- cCaDefinition ----------------------------------------------------------
|
|
||||||
|
|
||||||
cCaDefinition::cCaDefinition(void)
|
|
||||||
{
|
|
||||||
number = 0;
|
|
||||||
description = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
cCaDefinition::~cCaDefinition()
|
|
||||||
{
|
|
||||||
free(description);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool cCaDefinition::Parse(const char *s)
|
|
||||||
{
|
|
||||||
return 2 == sscanf(s, "%d %a[^\n]", &number, &description) && description && *description;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -- cCommands --------------------------------------------------------------
|
// -- cCommands --------------------------------------------------------------
|
||||||
|
|
||||||
cCommands Commands;
|
cCommands Commands;
|
||||||
@ -158,21 +140,6 @@ bool cSVDRPhosts::Acceptable(in_addr_t Address)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- cCaDefinitions ---------------------------------------------------------
|
|
||||||
|
|
||||||
cCaDefinitions CaDefinitions;
|
|
||||||
|
|
||||||
const cCaDefinition *cCaDefinitions::Get(int Number)
|
|
||||||
{
|
|
||||||
cCaDefinition *p = First();
|
|
||||||
while (p) {
|
|
||||||
if (p->Number() == Number)
|
|
||||||
return p;
|
|
||||||
p = (cCaDefinition *)p->Next();
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -- cSetupLine -------------------------------------------------------------
|
// -- cSetupLine -------------------------------------------------------------
|
||||||
|
|
||||||
cSetupLine::cSetupLine(void)
|
cSetupLine::cSetupLine(void)
|
||||||
|
22
config.h
22
config.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.h 1.237 2006/01/04 13:41:59 kls Exp $
|
* $Id: config.h 1.238 2006/01/07 12:57:42 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -61,20 +61,6 @@ public:
|
|||||||
bool Accepts(in_addr_t Address);
|
bool Accepts(in_addr_t Address);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CACONFBASE 100
|
|
||||||
|
|
||||||
class cCaDefinition : public cListObject {
|
|
||||||
private:
|
|
||||||
int number;
|
|
||||||
char *description;
|
|
||||||
public:
|
|
||||||
cCaDefinition(void);
|
|
||||||
~cCaDefinition();
|
|
||||||
bool Parse(const char *s);
|
|
||||||
int Number(void) const { return number; }
|
|
||||||
const char *Description(void) const { return description; }
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class T> class cConfig : public cList<T> {
|
template<class T> class cConfig : public cList<T> {
|
||||||
private:
|
private:
|
||||||
char *fileName;
|
char *fileName;
|
||||||
@ -166,15 +152,9 @@ public:
|
|||||||
bool Acceptable(in_addr_t Address);
|
bool Acceptable(in_addr_t Address);
|
||||||
};
|
};
|
||||||
|
|
||||||
class cCaDefinitions : public cConfig<cCaDefinition> {
|
|
||||||
public:
|
|
||||||
const cCaDefinition *Get(int Number);
|
|
||||||
};
|
|
||||||
|
|
||||||
extern cCommands Commands;
|
extern cCommands Commands;
|
||||||
extern cCommands RecordingCommands;
|
extern cCommands RecordingCommands;
|
||||||
extern cSVDRPhosts SVDRPhosts;
|
extern cSVDRPhosts SVDRPhosts;
|
||||||
extern cCaDefinitions CaDefinitions;
|
|
||||||
|
|
||||||
class cSetupLine : public cListObject {
|
class cSetupLine : public cListObject {
|
||||||
private:
|
private:
|
||||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.c 1.117 2006/01/06 13:50:00 kls Exp $
|
* $Id: device.c 1.118 2006/01/07 14:09:17 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -647,7 +647,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
|||||||
ciHandler->SetSource(Channel->Source(), Channel->Transponder());
|
ciHandler->SetSource(Channel->Source(), Channel->Transponder());
|
||||||
// Men at work - please stand clear! ;-)
|
// Men at work - please stand clear! ;-)
|
||||||
#ifdef XXX_DO_MULTIPLE_CA_CHANNELS
|
#ifdef XXX_DO_MULTIPLE_CA_CHANNELS
|
||||||
if (Channel->Ca() > CACONFBASE) {
|
if (Channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||||
#endif
|
#endif
|
||||||
ciHandler->AddPid(Channel->Sid(), Channel->Vpid(), 2);
|
ciHandler->AddPid(Channel->Sid(), Channel->Vpid(), 2);
|
||||||
for (const int *Apid = Channel->Apids(); *Apid; Apid++)
|
for (const int *Apid = Channel->Apids(); *Apid; Apid++)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbdevice.c 1.147 2006/01/05 15:30:06 kls Exp $
|
* $Id: dvbdevice.c 1.148 2006/01/07 14:05:59 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbdevice.h"
|
#include "dvbdevice.h"
|
||||||
@ -503,7 +503,7 @@ bool cDvbDevice::Ready(void)
|
|||||||
|
|
||||||
int cDvbDevice::ProvidesCa(const cChannel *Channel) const
|
int cDvbDevice::ProvidesCa(const cChannel *Channel) const
|
||||||
{
|
{
|
||||||
if (Channel->Ca() >= 0x0100 && ciHandler) {
|
if (Channel->Ca() >= CA_ENCRYPTED_MIN && ciHandler) {
|
||||||
unsigned short ids[MAXCAIDS + 1];
|
unsigned short ids[MAXCAIDS + 1];
|
||||||
for (int i = 0; i <= MAXCAIDS; i++) // '<=' copies the terminating 0!
|
for (int i = 0; i <= MAXCAIDS; i++) // '<=' copies the terminating 0!
|
||||||
ids[i] = Channel->Ca(i);
|
ids[i] = Channel->Ca(i);
|
||||||
@ -767,7 +767,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
|
|||||||
if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) {
|
if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) {
|
||||||
#ifdef DO_MULTIPLE_RECORDINGS
|
#ifdef DO_MULTIPLE_RECORDINGS
|
||||||
#ifndef DO_MULTIPLE_CA_CHANNELS
|
#ifndef DO_MULTIPLE_CA_CHANNELS
|
||||||
if (Ca() > CACONFBASE || Channel->Ca() > CACONFBASE)
|
if (Ca() >= CA_ENCRYPTED_MIN || Channel->Ca() >= CA_ENCRYPTED_MIN)
|
||||||
needsDetachReceivers = Ca() != Channel->Ca();
|
needsDetachReceivers = Ca() != Channel->Ca();
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: eitscan.c 1.29 2005/11/05 15:24:36 kls Exp $
|
* $Id: eitscan.c 1.30 2006/01/07 14:10:17 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "eitscan.h"
|
#include "eitscan.h"
|
||||||
@ -147,7 +147,7 @@ void cEITScanner::Process(void)
|
|||||||
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
|
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
|
||||||
const cChannel *Channel = ScanData->GetChannel();
|
const cChannel *Channel = ScanData->GetChannel();
|
||||||
if (Channel) {
|
if (Channel) {
|
||||||
if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) {
|
if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||||
if (Device->ProvidesTransponder(Channel)) {
|
if (Device->ProvidesTransponder(Channel)) {
|
||||||
if (!Device->Receiving()) {
|
if (!Device->Receiving()) {
|
||||||
bool MaySwitchTransponder = Device->MaySwitchTransponder();
|
bool MaySwitchTransponder = Device->MaySwitchTransponder();
|
||||||
|
44
i18n.c
44
i18n.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: i18n.c 1.227 2006/01/06 16:03:41 kls Exp $
|
* $Id: i18n.c 1.228 2006/01/07 12:50:33 kls Exp $
|
||||||
*
|
*
|
||||||
* Translations provided by:
|
* Translations provided by:
|
||||||
*
|
*
|
||||||
@ -1494,6 +1494,48 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"CA",
|
"CA",
|
||||||
"CA",
|
"CA",
|
||||||
},
|
},
|
||||||
|
{ "Free To Air",
|
||||||
|
"frei empfangbar",
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
},
|
||||||
|
{ "encrypted",
|
||||||
|
"verschlüsselt",
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
"",//TODO
|
||||||
|
},
|
||||||
{ "Sid",
|
{ "Sid",
|
||||||
"Sid",
|
"Sid",
|
||||||
"Sid",
|
"Sid",
|
||||||
|
33
menu.c
33
menu.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: menu.c 1.387 2006/01/06 11:44:25 kls Exp $
|
* $Id: menu.c 1.388 2006/01/07 13:51:09 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -42,28 +42,25 @@
|
|||||||
// --- cMenuEditCaItem -------------------------------------------------------
|
// --- cMenuEditCaItem -------------------------------------------------------
|
||||||
|
|
||||||
class cMenuEditCaItem : public cMenuEditIntItem {
|
class cMenuEditCaItem : public cMenuEditIntItem {
|
||||||
private:
|
|
||||||
const cCaDefinition *ca;
|
|
||||||
bool allowCardNr;
|
|
||||||
protected:
|
protected:
|
||||||
virtual void Set(void);
|
virtual void Set(void);
|
||||||
public:
|
public:
|
||||||
cMenuEditCaItem(const char *Name, int *Value, bool AllowCardNr = false);
|
cMenuEditCaItem(const char *Name, int *Value);
|
||||||
eOSState ProcessKey(eKeys Key);
|
eOSState ProcessKey(eKeys Key);
|
||||||
};
|
};
|
||||||
|
|
||||||
cMenuEditCaItem::cMenuEditCaItem(const char *Name, int *Value, bool AllowCardNr)
|
cMenuEditCaItem::cMenuEditCaItem(const char *Name, int *Value)
|
||||||
:cMenuEditIntItem(Name, Value, 0)
|
:cMenuEditIntItem(Name, Value, 0)
|
||||||
{
|
{
|
||||||
ca = CaDefinitions.Get(*Value);
|
|
||||||
allowCardNr = AllowCardNr;
|
|
||||||
Set();
|
Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cMenuEditCaItem::Set(void)
|
void cMenuEditCaItem::Set(void)
|
||||||
{
|
{
|
||||||
if (ca)
|
if (*value == CA_FTA)
|
||||||
SetValue(ca->Description());
|
SetValue(tr("Free To Air"));
|
||||||
|
else if (*value >= CA_ENCRYPTED_MIN)
|
||||||
|
SetValue(tr("encrypted"));
|
||||||
else
|
else
|
||||||
cMenuEditIntItem::Set();
|
cMenuEditIntItem::Set();
|
||||||
}
|
}
|
||||||
@ -73,18 +70,8 @@ eOSState cMenuEditCaItem::ProcessKey(eKeys Key)
|
|||||||
eOSState state = cMenuEditItem::ProcessKey(Key);
|
eOSState state = cMenuEditItem::ProcessKey(Key);
|
||||||
|
|
||||||
if (state == osUnknown) {
|
if (state == osUnknown) {
|
||||||
if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly?
|
if (NORMALKEY(Key) == kLeft && *value >= CA_ENCRYPTED_MIN)
|
||||||
if (ca && ca->Prev()) {
|
*value = CA_FTA;
|
||||||
ca = (cCaDefinition *)ca->Prev();
|
|
||||||
*value = ca->Number();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (NORMALKEY(Key) == kRight) {
|
|
||||||
if (ca && ca->Next() && (allowCardNr || ((cCaDefinition *)ca->Next())->Number() > MAXDEVICES)) {
|
|
||||||
ca = (cCaDefinition *)ca->Next();
|
|
||||||
*value = ca->Number();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
return cMenuEditIntItem::ProcessKey(Key);
|
return cMenuEditIntItem::ProcessKey(Key);
|
||||||
Set();
|
Set();
|
||||||
@ -266,7 +253,7 @@ void cMenuEditChannel::Setup(void)
|
|||||||
Add(new cMenuEditIntItem( tr("Dpid1"), &data.dpids[0], 0, 0x1FFF));
|
Add(new cMenuEditIntItem( tr("Dpid1"), &data.dpids[0], 0, 0x1FFF));
|
||||||
Add(new cMenuEditIntItem( tr("Dpid2"), &data.dpids[1], 0, 0x1FFF));
|
Add(new cMenuEditIntItem( tr("Dpid2"), &data.dpids[1], 0, 0x1FFF));
|
||||||
Add(new cMenuEditIntItem( tr("Tpid"), &data.tpid, 0, 0x1FFF));
|
Add(new cMenuEditIntItem( tr("Tpid"), &data.tpid, 0, 0x1FFF));
|
||||||
Add(new cMenuEditCaItem( tr("CA"), &data.caids[0], true));//XXX
|
Add(new cMenuEditCaItem( tr("CA"), &data.caids[0]));
|
||||||
Add(new cMenuEditIntItem( tr("Sid"), &data.sid, 1, 0xFFFF));
|
Add(new cMenuEditIntItem( tr("Sid"), &data.sid, 1, 0xFFFF));
|
||||||
/* XXX not yet used
|
/* XXX not yet used
|
||||||
Add(new cMenuEditIntItem( tr("Nid"), &data.nid, 0));
|
Add(new cMenuEditIntItem( tr("Nid"), &data.nid, 0));
|
||||||
|
22
vdr.5
22
vdr.5
@ -8,7 +8,7 @@
|
|||||||
.\" License as specified in the file COPYING that comes with the
|
.\" License as specified in the file COPYING that comes with the
|
||||||
.\" vdr distribution.
|
.\" vdr distribution.
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: vdr.5 1.41 2006/01/06 14:21:49 kls Exp $
|
.\" $Id: vdr.5 1.42 2006/01/07 12:30:49 kls Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH vdr 5 "19 Mar 2005" "1.3.38" "Video Disk Recorder Files"
|
.TH vdr 5 "19 Mar 2005" "1.3.38" "Video Disk Recorder Files"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -152,7 +152,7 @@ tab (@);
|
|||||||
l l.
|
l l.
|
||||||
\fB0000\fR@Free To Air
|
\fB0000\fR@Free To Air
|
||||||
\fB0001...000F\fR@explicitly requires the device with the given number
|
\fB0001...000F\fR@explicitly requires the device with the given number
|
||||||
\fB0010...00FF\fR@reserved for user defined assignments defined in \fIca.conf\fR
|
\fB0010...00FF\fR@reserved for user defined assignments
|
||||||
\fB0100...FFFF\fR@specific decryption methods as broadcast in the data stream\fR
|
\fB0100...FFFF\fR@specific decryption methods as broadcast in the data stream\fR
|
||||||
.TE
|
.TE
|
||||||
Values in the range 0001...00FF will not be overwritten, all other values
|
Values in the range 0001...00FF will not be overwritten, all other values
|
||||||
@ -389,24 +389,6 @@ l l.
|
|||||||
There can be any number of actions in a line, including none at all - in which case
|
There can be any number of actions in a line, including none at all - in which case
|
||||||
the entry would be used only to set the LOF to use for the given frequency range
|
the entry would be used only to set the LOF to use for the given frequency range
|
||||||
and polarization.
|
and polarization.
|
||||||
.SS CONDITIONAL ACCESS
|
|
||||||
The file \fIca.conf\fR defines the numbers to be used in the \fBConditional access\fR
|
|
||||||
field of channels in \fIchannels.conf\fR and assigns descriptive texts to them.
|
|
||||||
Example:
|
|
||||||
|
|
||||||
\fB101 Premiere World\fR
|
|
||||||
|
|
||||||
Anything after (and including) a '#' character is comment.
|
|
||||||
|
|
||||||
Value lines consist of an integer number, followed by a text describing
|
|
||||||
this decryption method (typically the name of the pay tv service using this
|
|
||||||
decryption method).
|
|
||||||
|
|
||||||
The special value \fB0\fR means \fBFree To Air\fR, which can be used for
|
|
||||||
channels that don't require additional decryption hardware.
|
|
||||||
|
|
||||||
The values \fB1...4\fR can be used for channels that for some reason explicitly
|
|
||||||
need a given DVB card (for backward compatibility).
|
|
||||||
.SS REMOTE CONTROL KEYS
|
.SS REMOTE CONTROL KEYS
|
||||||
The file \fIremote.conf\fR contains the key assignments for all remote control
|
The file \fIremote.conf\fR contains the key assignments for all remote control
|
||||||
units. Each line consists of one key assignment in the following format:
|
units. Each line consists of one key assignment in the following format:
|
||||||
|
3
vdr.c
3
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.cadsoft.de/vdr
|
* The project's page is at http://www.cadsoft.de/vdr
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 1.230 2006/01/06 12:47:16 kls Exp $
|
* $Id: vdr.c 1.231 2006/01/07 12:27:45 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -514,7 +514,6 @@ int main(int argc, char *argv[])
|
|||||||
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&
|
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&
|
||||||
RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true) &&
|
RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true) &&
|
||||||
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true) &&
|
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true) &&
|
||||||
CaDefinitions.Load(AddDirectory(ConfigDirectory, "ca.conf"), true) &&
|
|
||||||
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")) &&
|
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")) &&
|
||||||
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true)
|
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true)
|
||||||
))
|
))
|
||||||
|
Loading…
Reference in New Issue
Block a user