mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Removed the now obsolete CaCaps stuff
This commit is contained in:
parent
0d6715d862
commit
327db5aee3
3
HISTORY
3
HISTORY
@ -2648,3 +2648,6 @@ Video Disk Recorder Revision History
|
|||||||
might be automatically set when tuned to that transponder.
|
might be automatically set when tuned to that transponder.
|
||||||
- No longer closing the Channels menu after trying to switch to a channel that
|
- No longer closing the Channels menu after trying to switch to a channel that
|
||||||
is currently not available.
|
is currently not available.
|
||||||
|
- Removed the now obsolete CaCaps stuff. The Setup/CICAM menu now displays the
|
||||||
|
actual CAM type as reported by the CAM. The 'ca.conf' file has been stripped
|
||||||
|
down to the values 0..4.
|
||||||
|
83
ca.conf
83
ca.conf
@ -9,89 +9,6 @@
|
|||||||
|
|
||||||
0 Free To Air
|
0 Free To Air
|
||||||
|
|
||||||
# BetaCrypt
|
|
||||||
|
|
||||||
101 Premiere World
|
|
||||||
102 ORF
|
|
||||||
103 DIGI-Kabel
|
|
||||||
|
|
||||||
# Cryptoworks
|
|
||||||
|
|
||||||
201 GOD-DIGITAL
|
|
||||||
202 Slovak Link
|
|
||||||
203 Czech Link
|
|
||||||
|
|
||||||
# Videoguard
|
|
||||||
|
|
||||||
301 Sky Digital
|
|
||||||
|
|
||||||
# Viaccess 1
|
|
||||||
|
|
||||||
401 SRG Swiss
|
|
||||||
402 NTV Plus
|
|
||||||
403 Viasat
|
|
||||||
404 Parabole Reunion
|
|
||||||
405 Hrvatska radiotelevizija
|
|
||||||
406 RTV Slovenija
|
|
||||||
407 Visat
|
|
||||||
|
|
||||||
# Viaccess 2
|
|
||||||
|
|
||||||
501 Alpha Digital Greece
|
|
||||||
|
|
||||||
# Cryptoworks
|
|
||||||
|
|
||||||
601 UPC Direct
|
|
||||||
602 DigiTurk
|
|
||||||
|
|
||||||
# Mediaguard
|
|
||||||
|
|
||||||
701 CanalSatellite Reunion
|
|
||||||
|
|
||||||
# Mediaguard 2
|
|
||||||
|
|
||||||
801 Orbit Network
|
|
||||||
|
|
||||||
# Nagravision
|
|
||||||
|
|
||||||
901 PolSat Cyfrowy
|
|
||||||
902 TV Cabo
|
|
||||||
|
|
||||||
# Irdeto 2
|
|
||||||
|
|
||||||
1001 ADD
|
|
||||||
1002 Nova Greece
|
|
||||||
1003 Multichoice Africa
|
|
||||||
|
|
||||||
# Conax
|
|
||||||
|
|
||||||
1101 Canal Digital Scandinavia
|
|
||||||
|
|
||||||
# Mediaguard, Viaccess 1, Viaccess 2
|
|
||||||
|
|
||||||
10001 AB Sat France
|
|
||||||
10002 TPS France
|
|
||||||
|
|
||||||
# Videoguard, Mediaguard 2, Irdeto 2
|
|
||||||
|
|
||||||
12001 Sky Italia
|
|
||||||
|
|
||||||
# Mediaguard 1, Irdeto 1
|
|
||||||
|
|
||||||
13001 Canal Digitaal Satelliet NL
|
|
||||||
|
|
||||||
# Mediaguard 1, Mediaguard 2, Viaccess 1
|
|
||||||
|
|
||||||
14001 Canal Satellite France
|
|
||||||
|
|
||||||
# Mediaguard 2, Nagravision
|
|
||||||
|
|
||||||
15001 Digital+ Espana
|
|
||||||
|
|
||||||
# Mediaguard 2, Cryptoworks
|
|
||||||
|
|
||||||
16001 Cyfra+ Polska
|
|
||||||
|
|
||||||
# Special values to "hard code" a channel to a specific DVB card:
|
# Special values to "hard code" a channel to a specific DVB card:
|
||||||
|
|
||||||
1 DVB 1
|
1 DVB 1
|
||||||
|
10
ci.c
10
ci.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: ci.c 1.21 2004/01/02 15:07:36 kls Exp $
|
* $Id: ci.c 1.22 2004/02/08 15:02:04 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ci.h"
|
#include "ci.h"
|
||||||
@ -763,6 +763,7 @@ public:
|
|||||||
virtual ~cCiApplicationInformation();
|
virtual ~cCiApplicationInformation();
|
||||||
virtual bool Process(int Length = 0, const uint8_t *Data = NULL);
|
virtual bool Process(int Length = 0, const uint8_t *Data = NULL);
|
||||||
bool EnterMenu(void);
|
bool EnterMenu(void);
|
||||||
|
const char *GetMenuString(void) { return menuString; }
|
||||||
};
|
};
|
||||||
|
|
||||||
cCiApplicationInformation::cCiApplicationInformation(int SessionId, cCiTransportConnection *Tc)
|
cCiApplicationInformation::cCiApplicationInformation(int SessionId, cCiTransportConnection *Tc)
|
||||||
@ -1559,6 +1560,13 @@ cCiEnquiry *cCiHandler::GetEnquiry(void)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *cCiHandler::GetCamName(int Slot)
|
||||||
|
{
|
||||||
|
cMutexLock MutexLock(&mutex);
|
||||||
|
cCiApplicationInformation *ai = (cCiApplicationInformation *)GetSessionByResourceId(RI_APPLICATION_INFORMATION, Slot);
|
||||||
|
return ai ? ai->GetMenuString() : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
const unsigned short *cCiHandler::GetCaSystemIds(int Slot)
|
const unsigned short *cCiHandler::GetCaSystemIds(int Slot)
|
||||||
{
|
{
|
||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
|
3
ci.h
3
ci.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: ci.h 1.12 2003/12/31 13:49:49 kls Exp $
|
* $Id: ci.h 1.13 2004/02/08 14:36:23 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CI_H
|
#ifndef __CI_H
|
||||||
@ -110,6 +110,7 @@ public:
|
|||||||
bool EnterMenu(int Slot);
|
bool EnterMenu(int Slot);
|
||||||
cCiMenu *GetMenu(void);
|
cCiMenu *GetMenu(void);
|
||||||
cCiEnquiry *GetEnquiry(void);
|
cCiEnquiry *GetEnquiry(void);
|
||||||
|
const char *GetCamName(int Slot);
|
||||||
const unsigned short *GetCaSystemIds(int Slot);
|
const unsigned short *GetCaSystemIds(int Slot);
|
||||||
bool ProvidesCa(const unsigned short *CaSystemIds); //XXX Slot???
|
bool ProvidesCa(const unsigned short *CaSystemIds); //XXX Slot???
|
||||||
bool SetCaPmt(cCiCaPmt &CaPmt, int Slot);
|
bool SetCaPmt(cCiCaPmt &CaPmt, int Slot);
|
||||||
|
49
config.c
49
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.121 2004/01/25 14:41:10 kls Exp $
|
* $Id: config.c 1.122 2004/02/08 15:04:41 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -286,7 +286,6 @@ cSetup::cSetup(void)
|
|||||||
MultiSpeedMode = 0;
|
MultiSpeedMode = 0;
|
||||||
ShowReplayMode = 0;
|
ShowReplayMode = 0;
|
||||||
ResumeID = 0;
|
ResumeID = 0;
|
||||||
memset(CaCaps, sizeof(CaCaps), 0);
|
|
||||||
CurrentChannel = -1;
|
CurrentChannel = -1;
|
||||||
CurrentVolume = MAXVOLUME;
|
CurrentVolume = MAXVOLUME;
|
||||||
}
|
}
|
||||||
@ -352,50 +351,6 @@ bool cSetup::Load(const char *FileName)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cSetup::StoreCaCaps(const char *Name)
|
|
||||||
{
|
|
||||||
cSetupLine *l;
|
|
||||||
while ((l = Get(Name)) != NULL)
|
|
||||||
Del(l);
|
|
||||||
for (int d = 0; d < MAXDEVICES; d++) {
|
|
||||||
char buffer[MAXPARSEBUFFER];
|
|
||||||
char *q = buffer;
|
|
||||||
*buffer = 0;
|
|
||||||
for (int i = 0; i < MAXCACAPS; i++) {
|
|
||||||
if (CaCaps[d][i]) {
|
|
||||||
if (!*buffer)
|
|
||||||
q += snprintf(buffer, sizeof(buffer), "%d", d + 1);
|
|
||||||
q += snprintf(q, sizeof(buffer) - (q - buffer), " %d", CaCaps[d][i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (*buffer)
|
|
||||||
Store(Name, buffer, NULL, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool cSetup::ParseCaCaps(const char *Value)
|
|
||||||
{
|
|
||||||
char *p;
|
|
||||||
int d = strtol(Value, &p, 10);
|
|
||||||
if (d > 0 && d <= MAXDEVICES) {
|
|
||||||
d--;
|
|
||||||
int i = 0;
|
|
||||||
while (p != Value && p && *p) {
|
|
||||||
if (i < MAXCACAPS) {
|
|
||||||
int c = strtol(p, &p, 10);
|
|
||||||
if (c > 0)
|
|
||||||
CaCaps[d][i++] = c;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cSetup::StoreLanguages(const char *Name, int *Values)
|
void cSetup::StoreLanguages(const char *Name, int *Values)
|
||||||
{
|
{
|
||||||
char buffer[I18nNumLanguages * 4];
|
char buffer[I18nNumLanguages * 4];
|
||||||
@ -473,7 +428,6 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
|||||||
else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
|
else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
|
else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
|
else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "CaCaps")) return ParseCaCaps(Value);
|
|
||||||
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
|
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
|
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
|
||||||
else
|
else
|
||||||
@ -525,7 +479,6 @@ bool cSetup::Save(void)
|
|||||||
Store("MultiSpeedMode", MultiSpeedMode);
|
Store("MultiSpeedMode", MultiSpeedMode);
|
||||||
Store("ShowReplayMode", ShowReplayMode);
|
Store("ShowReplayMode", ShowReplayMode);
|
||||||
Store("ResumeID", ResumeID);
|
Store("ResumeID", ResumeID);
|
||||||
StoreCaCaps("CaCaps");
|
|
||||||
Store("CurrentChannel", CurrentChannel);
|
Store("CurrentChannel", CurrentChannel);
|
||||||
Store("CurrentVolume", CurrentVolume);
|
Store("CurrentVolume", CurrentVolume);
|
||||||
|
|
||||||
|
5
config.h
5
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.185 2004/01/25 16:08:23 kls Exp $
|
* $Id: config.h 1.186 2004/02/08 15:04:52 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -194,8 +194,6 @@ public:
|
|||||||
class cSetup : public cConfig<cSetupLine> {
|
class cSetup : public cConfig<cSetupLine> {
|
||||||
friend class cPlugin; // needs to be able to call Store()
|
friend class cPlugin; // needs to be able to call Store()
|
||||||
private:
|
private:
|
||||||
void StoreCaCaps(const char *Name);
|
|
||||||
bool ParseCaCaps(const char *Value);
|
|
||||||
void StoreLanguages(const char *Name, int *Values);
|
void StoreLanguages(const char *Name, int *Values);
|
||||||
bool ParseLanguages(const char *Value, int *Values);
|
bool ParseLanguages(const char *Value, int *Values);
|
||||||
bool Parse(const char *Name, const char *Value);
|
bool Parse(const char *Name, const char *Value);
|
||||||
@ -242,7 +240,6 @@ public:
|
|||||||
int MultiSpeedMode;
|
int MultiSpeedMode;
|
||||||
int ShowReplayMode;
|
int ShowReplayMode;
|
||||||
int ResumeID;
|
int ResumeID;
|
||||||
int CaCaps[MAXDEVICES][MAXCACAPS];
|
|
||||||
int CurrentChannel;
|
int CurrentChannel;
|
||||||
int CurrentVolume;
|
int CurrentVolume;
|
||||||
int __EndData__;
|
int __EndData__;
|
||||||
|
16
device.c
16
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.52 2004/01/11 13:21:12 kls Exp $
|
* $Id: device.c 1.53 2004/02/08 15:05:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -56,10 +56,8 @@ cDevice::cDevice(void)
|
|||||||
for (int i = 0; i < MAXRECEIVERS; i++)
|
for (int i = 0; i < MAXRECEIVERS; i++)
|
||||||
receiver[i] = NULL;
|
receiver[i] = NULL;
|
||||||
|
|
||||||
if (numDevices < MAXDEVICES) {
|
if (numDevices < MAXDEVICES)
|
||||||
device[numDevices++] = this;
|
device[numDevices++] = this;
|
||||||
SetCaCaps(cardIndex);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
esyslog("ERROR: too many devices!");
|
esyslog("ERROR: too many devices!");
|
||||||
}
|
}
|
||||||
@ -200,16 +198,6 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool *NeedsDe
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cDevice::SetCaCaps(int Index)
|
|
||||||
{
|
|
||||||
for (int d = 0; d < numDevices; d++) {
|
|
||||||
if (Index < 0 || Index == device[d]->CardIndex()) {
|
|
||||||
for (int i = 0; i < MAXCACAPS; i++)
|
|
||||||
device[d]->caCaps[i] = Setup.CaCaps[device[d]->CardIndex()][i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void cDevice::Shutdown(void)
|
void cDevice::Shutdown(void)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < numDevices; i++) {
|
for (int i = 0; i < numDevices; i++) {
|
||||||
|
7
device.h
7
device.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: device.h 1.38 2004/01/11 10:35:36 kls Exp $
|
* $Id: device.h 1.39 2004/02/08 15:05:49 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
#ifndef __DEVICE_H
|
||||||
@ -21,7 +21,6 @@
|
|||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
#define MAXDEVICES 16 // the maximum number of devices in the system
|
#define MAXDEVICES 16 // the maximum number of devices in the system
|
||||||
#define MAXCACAPS 16 // the maximum number of different CA values per device
|
|
||||||
#define MAXPIDHANDLES 16 // the maximum number of different PIDs per device
|
#define MAXPIDHANDLES 16 // the maximum number of different PIDs per device
|
||||||
#define MAXRECEIVERS 16 // the maximum number of receivers per device
|
#define MAXRECEIVERS 16 // the maximum number of receivers per device
|
||||||
#define MAXVOLUME 255
|
#define MAXVOLUME 255
|
||||||
@ -97,16 +96,12 @@ public:
|
|||||||
///< given Priority.
|
///< given Priority.
|
||||||
///< See ProvidesChannel() for more information on how
|
///< See ProvidesChannel() for more information on how
|
||||||
///< priorities are handled, and the meaning of NeedsDetachReceivers.
|
///< priorities are handled, and the meaning of NeedsDetachReceivers.
|
||||||
static void SetCaCaps(int Index = -1);
|
|
||||||
///< Sets the CaCaps of the given device according to the Setup data.
|
|
||||||
///< By default the CaCaps of all devices are set.
|
|
||||||
static void Shutdown(void);
|
static void Shutdown(void);
|
||||||
///< Closes down all devices.
|
///< Closes down all devices.
|
||||||
///< Must be called at the end of the program.
|
///< Must be called at the end of the program.
|
||||||
private:
|
private:
|
||||||
static int nextCardIndex;
|
static int nextCardIndex;
|
||||||
int cardIndex;
|
int cardIndex;
|
||||||
int caCaps[MAXCACAPS];
|
|
||||||
protected:
|
protected:
|
||||||
cDevice(void);
|
cDevice(void);
|
||||||
virtual ~cDevice();
|
virtual ~cDevice();
|
||||||
|
19
menu.c
19
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.283 2004/02/08 14:12:23 kls Exp $
|
* $Id: menu.c 1.284 2004/02/08 15:06:42 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -2216,11 +2216,16 @@ cMenuSetupCICAM::cMenuSetupCICAM(void)
|
|||||||
helpKeys = -1;
|
helpKeys = -1;
|
||||||
SetSection(tr("CICAM"));
|
SetSection(tr("CICAM"));
|
||||||
for (int d = 0; d < cDevice::NumDevices(); d++) {
|
for (int d = 0; d < cDevice::NumDevices(); d++) {
|
||||||
for (int i = 0; i < 2; i++) {
|
cDevice *Device = cDevice::GetDevice(d);
|
||||||
|
cCiHandler *CiHandler = Device->CiHandler();
|
||||||
|
for (int Slot = 0; Slot < 2; Slot++) {
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
int CardIndex = cDevice::GetDevice(d)->CardIndex();
|
int CardIndex = Device->CardIndex();
|
||||||
snprintf(buffer, sizeof(buffer), "%s%d %d", tr("Setup.CICAM$CICAM DVB"), CardIndex + 1, i + 1);
|
const char *CamName = CiHandler ? CiHandler->GetCamName(Slot) : NULL;
|
||||||
Add(new cMenuEditCaItem(buffer, &data.CaCaps[CardIndex][i]));
|
if (!CamName)
|
||||||
|
CamName = "-";
|
||||||
|
snprintf(buffer, sizeof(buffer), "%s%d %d\t%s", tr("Setup.CICAM$CICAM DVB"), CardIndex + 1, Slot + 1, CamName);
|
||||||
|
Add(new cOsdItem(buffer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetHelpKeys();
|
SetHelpKeys();
|
||||||
@ -2275,9 +2280,7 @@ eOSState cMenuSetupCICAM::ProcessKey(eKeys Key)
|
|||||||
{
|
{
|
||||||
eOSState state = cMenuSetupBase::ProcessKey(Key);
|
eOSState state = cMenuSetupBase::ProcessKey(Key);
|
||||||
|
|
||||||
if (state == osBack && Key == kOk)
|
if (state == osUnknown) {
|
||||||
cDevice::SetCaCaps();
|
|
||||||
else if (state == osUnknown) {
|
|
||||||
switch (Key) {
|
switch (Key) {
|
||||||
case kRed: if (helpKeys == 1)
|
case kRed: if (helpKeys == 1)
|
||||||
return Menu();
|
return Menu();
|
||||||
|
Loading…
Reference in New Issue
Block a user