mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	The file 'ca.conf' is obsolete and has been removed; revised all descriptions regarding CICAM
This commit is contained in:
		
							
								
								
									
										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<EFBFBD>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)
 | 
			
		||||
        ))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user