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
|
||||
from "single shot" to "weekly", followed by the "Right" key (reported by
|
||||
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 DVBn m Defines the "Conditional Access" capabilities of the DVB
|
||||
card 'n'. Each DVB card can provide up to two CICAM
|
||||
methods ('m' = [1, 2]).
|
||||
|
||||
In the 'setup.conf' file the value consists of the card
|
||||
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".
|
||||
CICAM DVBn m Shows the CAMs that each device contains, where 'n' is
|
||||
the number of the device, and 'm' is the number of the
|
||||
Common Interface slot of that device. The "Red" key
|
||||
can be pressed to enter the CAM menu, and the "Green" key
|
||||
triggers a reset of the selected CAM.
|
||||
|
||||
Recording:
|
||||
|
||||
|
10
channels.h
10
channels.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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
|
||||
@ -39,6 +39,14 @@
|
||||
#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 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 {
|
||||
int userValue;
|
||||
int driverValue;
|
||||
|
35
config.c
35
config.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -120,24 +120,6 @@ bool cSVDRPhost::Accepts(in_addr_t Address)
|
||||
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 Commands;
|
||||
@ -158,21 +140,6 @@ bool cSVDRPhosts::Acceptable(in_addr_t Address)
|
||||
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(void)
|
||||
|
22
config.h
22
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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
|
||||
@ -61,20 +61,6 @@ public:
|
||||
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> {
|
||||
private:
|
||||
char *fileName;
|
||||
@ -166,15 +152,9 @@ public:
|
||||
bool Acceptable(in_addr_t Address);
|
||||
};
|
||||
|
||||
class cCaDefinitions : public cConfig<cCaDefinition> {
|
||||
public:
|
||||
const cCaDefinition *Get(int Number);
|
||||
};
|
||||
|
||||
extern cCommands Commands;
|
||||
extern cCommands RecordingCommands;
|
||||
extern cSVDRPhosts SVDRPhosts;
|
||||
extern cCaDefinitions CaDefinitions;
|
||||
|
||||
class cSetupLine : public cListObject {
|
||||
private:
|
||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -647,7 +647,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
||||
ciHandler->SetSource(Channel->Source(), Channel->Transponder());
|
||||
// Men at work - please stand clear! ;-)
|
||||
#ifdef XXX_DO_MULTIPLE_CA_CHANNELS
|
||||
if (Channel->Ca() > CACONFBASE) {
|
||||
if (Channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||
#endif
|
||||
ciHandler->AddPid(Channel->Sid(), Channel->Vpid(), 2);
|
||||
for (const int *Apid = Channel->Apids(); *Apid; Apid++)
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -503,7 +503,7 @@ bool cDvbDevice::Ready(void)
|
||||
|
||||
int cDvbDevice::ProvidesCa(const cChannel *Channel) const
|
||||
{
|
||||
if (Channel->Ca() >= 0x0100 && ciHandler) {
|
||||
if (Channel->Ca() >= CA_ENCRYPTED_MIN && ciHandler) {
|
||||
unsigned short ids[MAXCAIDS + 1];
|
||||
for (int i = 0; i <= MAXCAIDS; i++) // '<=' copies the terminating 0!
|
||||
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))) {
|
||||
#ifdef DO_MULTIPLE_RECORDINGS
|
||||
#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();
|
||||
else
|
||||
#endif
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -147,7 +147,7 @@ void cEITScanner::Process(void)
|
||||
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
|
||||
const cChannel *Channel = ScanData->GetChannel();
|
||||
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->Receiving()) {
|
||||
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
|
||||
* 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:
|
||||
*
|
||||
@ -1494,6 +1494,48 @@ const tI18nPhrase Phrases[] = {
|
||||
"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",
|
||||
|
33
menu.c
33
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* 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"
|
||||
@ -42,28 +42,25 @@
|
||||
// --- cMenuEditCaItem -------------------------------------------------------
|
||||
|
||||
class cMenuEditCaItem : public cMenuEditIntItem {
|
||||
private:
|
||||
const cCaDefinition *ca;
|
||||
bool allowCardNr;
|
||||
protected:
|
||||
virtual void Set(void);
|
||||
public:
|
||||
cMenuEditCaItem(const char *Name, int *Value, bool AllowCardNr = false);
|
||||
cMenuEditCaItem(const char *Name, int *Value);
|
||||
eOSState ProcessKey(eKeys Key);
|
||||
};
|
||||
|
||||
cMenuEditCaItem::cMenuEditCaItem(const char *Name, int *Value, bool AllowCardNr)
|
||||
cMenuEditCaItem::cMenuEditCaItem(const char *Name, int *Value)
|
||||
:cMenuEditIntItem(Name, Value, 0)
|
||||
{
|
||||
ca = CaDefinitions.Get(*Value);
|
||||
allowCardNr = AllowCardNr;
|
||||
Set();
|
||||
}
|
||||
|
||||
void cMenuEditCaItem::Set(void)
|
||||
{
|
||||
if (ca)
|
||||
SetValue(ca->Description());
|
||||
if (*value == CA_FTA)
|
||||
SetValue(tr("Free To Air"));
|
||||
else if (*value >= CA_ENCRYPTED_MIN)
|
||||
SetValue(tr("encrypted"));
|
||||
else
|
||||
cMenuEditIntItem::Set();
|
||||
}
|
||||
@ -73,18 +70,8 @@ eOSState cMenuEditCaItem::ProcessKey(eKeys Key)
|
||||
eOSState state = cMenuEditItem::ProcessKey(Key);
|
||||
|
||||
if (state == osUnknown) {
|
||||
if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly?
|
||||
if (ca && ca->Prev()) {
|
||||
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();
|
||||
}
|
||||
}
|
||||
if (NORMALKEY(Key) == kLeft && *value >= CA_ENCRYPTED_MIN)
|
||||
*value = CA_FTA;
|
||||
else
|
||||
return cMenuEditIntItem::ProcessKey(Key);
|
||||
Set();
|
||||
@ -266,7 +253,7 @@ void cMenuEditChannel::Setup(void)
|
||||
Add(new cMenuEditIntItem( tr("Dpid1"), &data.dpids[0], 0, 0x1FFF));
|
||||
Add(new cMenuEditIntItem( tr("Dpid2"), &data.dpids[1], 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));
|
||||
/* XXX not yet used
|
||||
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
|
||||
.\" 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"
|
||||
.SH NAME
|
||||
@ -152,7 +152,7 @@ tab (@);
|
||||
l l.
|
||||
\fB0000\fR@Free To Air
|
||||
\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
|
||||
.TE
|
||||
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
|
||||
the entry would be used only to set the LOF to use for the given frequency range
|
||||
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
|
||||
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:
|
||||
|
3
vdr.c
3
vdr.c
@ -22,7 +22,7 @@
|
||||
*
|
||||
* 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>
|
||||
@ -514,7 +514,6 @@ int main(int argc, char *argv[])
|
||||
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&
|
||||
RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true) &&
|
||||
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true) &&
|
||||
CaDefinitions.Load(AddDirectory(ConfigDirectory, "ca.conf"), true) &&
|
||||
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")) &&
|
||||
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true)
|
||||
))
|
||||
|
Loading…
Reference in New Issue
Block a user