@@ -399,6 +399,7 @@ cSetup::cSetup(void)
InitialVolume = -1;
ChannelsWrap = 0;
EmergencyExit = 1;
+ OnDemand = 0;
}
cSetup& cSetup::operator= (const cSetup &s)
@@ -590,6 +591,7 @@ bool cSetup::Parse(const char *Name, con
else if (!strcasecmp(Name, "InitialVolume")) InitialVolume = atoi(Value);
else if (!strcasecmp(Name, "ChannelsWrap")) ChannelsWrap = atoi(Value);
else if (!strcasecmp(Name, "EmergencyExit")) EmergencyExit = atoi(Value);
+ else if (!strcasecmp(Name, "OnDemand")) OnDemand = atoi(Value);
else
return false;
return true;
@@ -686,6 +688,7 @@ bool cSetup::Save(void)
Store("InitialVolume", InitialVolume);
Store("ChannelsWrap", ChannelsWrap);
Store("EmergencyExit", EmergencyExit);
+ Store("OnDemand", OnDemand);
Sort();
@@ -291,6 +291,7 @@ public:
int InitialVolume;
int ChannelsWrap;
int EmergencyExit;
+ int OnDemand;
int __EndData__;
cSetup(void);
cSetup& operator= (const cSetup &s);
@@ -261,6 +261,7 @@ cDevice *cDevice::GetDevice(const cChann
if (NumUsableSlots && SlotPriority[j] > MAXPRIORITY)
continue; // there is no CAM available in this slot
for (int i = 0; i < numDevices; i++) {
+ device[i]->Access();
if (device[i] == AvoidDevice)
continue; // this device shall be temporarily avoided
if (Channel->Ca() && Channel->Ca() <= CA_DVB_MAX && Channel->Ca() != device[i]->CardIndex() + 1)
@@ -269,6 +270,9 @@ cDevice *cDevice::GetDevice(const cChann
continue; // CAM slot can't be used with this device
bool ndr;
if (device[i]->ProvidesChannel(Channel, Priority, &ndr)) { // this device is basicly able to do the job
+ if (Setup.OnDemand) {
+ return device[i]; // Skip impact tests to avoid long waintings and timeouts
+ }
if (NumUsableSlots && device[i]->CamSlot() && device[i]->CamSlot() != CamSlots.Get(j))
ndr = true; // using a different CAM slot requires detaching receivers
// Put together an integer number that reflects the "impact" using
@@ -633,6 +637,13 @@ bool cDevice::MaySwitchTransponder(void)
return !Receiving(true) && !(pidHandles[ptAudio].pid || pidHandles[ptVideo].pid || pidHandles[ptDolby].pid);
}
+void cDevice::CloseAll()
+{
+ for (int i = 0; i < numDevices; i++) {
+ device[i]->Close();
+ }
+}
+
bool cDevice::SwitchChannel(const cChannel *Channel, bool LiveView)
{
if (LiveView) {
@@ -698,6 +709,7 @@ eSetChannelResult cDevice::SetChannel(co
eSetChannelResult Result = scrOk;
+ Device->Access();
// If this DVB card can't receive this channel, let's see if we can
// use the card that actually can receive it and transfer data from there:
@@ -771,6 +783,14 @@ void cDevice::ForceTransferMode(void)
}
}
+void cDevice::Access(bool ondemand)
+{
+}
+
+void cDevice::Close(void)
+{
+}
+
bool cDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
{
return false;
@@ -159,6 +159,8 @@ public:
static void Shutdown(void);
///< Closes down all devices.
///< Must be called at the end of the program.
+ virtual void CloseAll(void);
+ ///< Closes all devices in OnDemand mode (called by Access()).
private:
static int nextCardIndex;
int cardIndex;
@@ -189,6 +191,10 @@ protected:
///< device (On = false), it should do so in this function.
///< A derived class must call the MakePrimaryDevice() function of its
///< base class.
+ virtual void Access(bool ondemand = true);
+ ///< Actually access the adapter/frontend.
+ virtual void Close(void);
+ ///< Close the adapter/frontend file descriptors.
public:
bool IsPrimaryDevice(void) const { return this == primaryDevice; }
int CardIndex(void) const { return cardIndex; }
@@ -669,62 +669,10 @@ cDvbDevice::cDvbDevice(int Adapter, int
dvbTuner = NULL;
frontendType = SYS_UNDEFINED;
numProvidedSystems = 0;
-
- // Devices that are present on all card types:
-
- int fd_frontend = DvbOpen(DEV_DVB_FRONTEND, adapter, frontend, O_RDWR | O_NONBLOCK);
-
- // Common Interface:
-
- fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR);
- if (fd_ca >= 0)
- ciAdapter = cDvbCiAdapter::CreateCiAdapter(this, fd_ca);
-
- // The DVR device (will be opened and closed as needed):
-
- fd_dvr = -1;
-
- // We only check the devices that must be present - the others will be checked before accessing them://XXX
-
- if (fd_frontend >= 0) {
- if (ioctl(fd_frontend, FE_GET_INFO, &frontendInfo) >= 0) {
- switch (frontendInfo.type) {
- case FE_QPSK: frontendType = (frontendInfo.caps & FE_CAN_2G_MODULATION) ? SYS_DVBS2 : SYS_DVBS; break;
- case FE_OFDM: frontendType = SYS_DVBT; break;
- case FE_QAM: frontendType = SYS_DVBC_ANNEX_AC; break;
- case FE_ATSC: frontendType = SYS_ATSC; break;
- default: esyslog("ERROR: unknown frontend type %d on frontend %d/%d", frontendInfo.type, adapter, frontend);
- }
- }
- else
- LOG_ERROR;
- if (frontendType != SYS_UNDEFINED) {
- numProvidedSystems++;
- if (frontendType == SYS_DVBS2)
- numProvidedSystems++;
- char Modulations[64];
- char *p = Modulations;
- if (frontendInfo.caps & FE_CAN_QPSK) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QPSK, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_QAM_16) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_16, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_QAM_32) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_32, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_QAM_64) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_64, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_QAM_128) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_128, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_QAM_256) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_256, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_8VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_8, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_16VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_16, ModulationValues)); }
- if (frontendInfo.caps & FE_CAN_TURBO_FEC){numProvidedSystems++; p += sprintf(p, ",%s", "TURBO_FEC"); }
- if (p != Modulations)
- p = Modulations + 1; // skips first ','
- else
- p = (char *)"unknown modulations";
- isyslog("frontend %d/%d provides %s with %s (\"%s\")", adapter, frontend, DeliverySystems[frontendType], p, frontendInfo.name);
- dvbTuner = new cDvbTuner(CardIndex() + 1, fd_frontend, adapter, frontend, frontendType);
- }
- }
- else
- esyslog("ERROR: can't open DVB device %d/%d", adapter, frontend);
-
- StartSectionHandler();
+ openlevel = 0;
+ fd_frontend = -1;
+ fd_ca= -1;
+ Access(false); // If ondemand is disabled, access all devices on startup as usual
}
cDvbDevice::~cDvbDevice()
@@ -741,6 +689,87 @@ cString cDvbDevice::DvbName(const char *
return cString::sprintf("%s%d/%s%d", DEV_DVB_ADAPTER, Adapter, Name, Frontend);
}
+void cDvbDevice::Access(bool ondemand)
+{
+ if (ondemand == Setup.OnDemand) {
+ if (openlevel == 0) {
+ if (Setup.OnDemand) {
+ isyslog("Accessing device %d/%d", adapter, frontend);
+ CloseAll();
+ }
+ // Devices that are present on all card types:
+ fd_frontend = DvbOpen(DEV_DVB_FRONTEND, adapter, frontend, O_RDWR | O_NONBLOCK);
+
+ // Common Interface:
+
+ fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR);
+ if (fd_ca >= 0)
+ ciAdapter = cDvbCiAdapter::CreateCiAdapter(this, fd_ca);
+
+ // The DVR device (will be opened and closed as needed):
+
+ fd_dvr = -1;
+
+ // We only check the devices that must be present - the others will be checked before accessing them://XXX
+
+ if (fd_frontend >= 0) {
+ if (ioctl(fd_frontend, FE_GET_INFO, &frontendInfo) >= 0) {
+ switch (frontendInfo.type) {
+ case FE_QPSK: frontendType = (frontendInfo.caps & FE_CAN_2G_MODULATION) ? SYS_DVBS2 : SYS_DVBS; break;
+ case FE_OFDM: frontendType = SYS_DVBT; break;
+ case FE_QAM: frontendType = SYS_DVBC_ANNEX_AC; break;
+ case FE_ATSC: frontendType = SYS_ATSC; break;
+ default: esyslog("ERROR: unknown frontend type %d on frontend %d/%d", frontendInfo.type, adapter, frontend);
+ }
+ }
+ else
+ LOG_ERROR;
+ if (frontendType != SYS_UNDEFINED) {
+ numProvidedSystems++;
+ if (frontendType == SYS_DVBS2)
+ numProvidedSystems++;
+ char Modulations[64];
+ char *p = Modulations;
+ if (frontendInfo.caps & FE_CAN_QPSK) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QPSK, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_16) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_16, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_32) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_32, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_64) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_64, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_128) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_128, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_256) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_256, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_8VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_8, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_16VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_16, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_TURBO_FEC){numProvidedSystems++; p += sprintf(p, ",%s", "TURBO_FEC"); }
+ if (p != Modulations)
+ p = Modulations + 1; // skips first ','
+ else
+ p = (char *)"unknown modulations";
+ isyslog("frontend %d/%d provides %s with %s (\"%s\")", adapter, frontend, DeliverySystems[frontendType], p, frontendInfo.name);
+ dvbTuner = new cDvbTuner(CardIndex() + 1, fd_frontend, adapter, frontend, frontendType);
+ }
+ }
+ else {
+ esyslog("ERROR: can't open DVB device %d/%d", adapter, frontend);
+ }
+ StartSectionHandler();
+ openlevel = 1;
+ }
+ }
+}
+
+void cDvbDevice::Close(void)
+{
+ if (Setup.OnDemand == true && openlevel == 1) {
+ isyslog("Closing device %d/%d", adapter, frontend);
+ StopSectionHandler();
+ delete dvbTuner;
+ delete ciAdapter;
+ //sleep(2);
+ close(fd_ca);
+ close(fd_frontend);
+ openlevel = 0;
+ }
+}
+
int cDvbDevice::DvbOpen(const char *Name, int Adapter, int Frontend, int Mode, bool ReportError)
{
cString FileName = DvbName(Name, Adapter, Frontend);
@@ -115,13 +115,18 @@ public:
///< Initializes the DVB devices.
///< Must be called before accessing any DVB functions.
///< \return True if any devices are available.
+ virtual void Access(bool ondemand = true);
+ ///< Actually access the adapter/frontend.
+ virtual void Close(void);
+ ///< Close the adapter/frontend file descriptors.
protected:
int adapter, frontend;
private:
dvb_frontend_info frontendInfo;
int numProvidedSystems;
fe_delivery_system frontendType;
- int fd_dvr, fd_ca;
+ int fd_dvr, fd_ca, fd_frontend;
+ int openlevel;
public:
cDvbDevice(int Adapter, int Frontend);
virtual ~cDvbDevice();
@@ -3102,6 +3102,7 @@ cMenuSetupMisc::cMenuSetupMisc(void)
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before")));
Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Channels wrap"), &data.ChannelsWrap));
Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Emergency exit"), &data.EmergencyExit));
+ Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Access cards on demand"), &data.OnDemand));
}
// --- cMenuSetupPluginItem --------------------------------------------------
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-09-12 13:37+0200\n"
+"POT-Creation-Date: 2010-09-19 23:43+0200\n"
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
"Language-Team: Arabic <ar@li.org>\n"
@@ -1126,6 +1126,10 @@ msgstr "Ù?ساؚÙ?"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "خرÙ?ج طارÙ?Ø¡"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "Ù?ساؚÙ?"
+
msgid "Plugins"
msgstr "اÙ?Ù?Ù?ØÙ?ات"
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalanian\n"
@@ -1102,6 +1102,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Sortida d'emergència"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "anterior"
+
msgid "Plugins"
msgstr "Plugins"
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
"Last-Translator: Radek ŠťastnÜ <dedkus@gmail.com>\n"
"Language-Team: Czech\n"
@@ -1101,6 +1101,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Nouzové ukonÄenÃ"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "jako naposledy"
+
msgid "Plugins"
msgstr "Moduly"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish\n"
@@ -1099,6 +1099,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Nødudgang"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "som før"
+
msgid "Plugins"
msgstr "Plugins"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German\n"
@@ -1099,6 +1099,10 @@ msgstr "Rundum zappen"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Notausstieg"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "wie vorher"
+
msgid "Plugins"
msgstr "Plugins"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek\n"
@@ -1099,6 +1099,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr ""
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ÆÜðéíãê äéáêïðÞ (ä)"
+
msgid "Plugins"
msgstr "ÅðåêôÜóåéò"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Salida de emergencia"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "anterior"
+
msgid "Plugins"
msgstr "Plugins"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian\n"
@@ -1099,6 +1099,10 @@ msgstr "Kanalite ringkerimine"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Hädaväljumine"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "endine"
+
msgid "Plugins"
msgstr "Laiendusmoodulid"
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
@@ -1102,6 +1102,10 @@ msgstr "Kanavien rullaus"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "KÀytÀ hÀtÀsammutusta"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "edellinen"
+
msgid "Plugins"
msgstr "Laajennokset"
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French\n"
@@ -1105,6 +1105,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Arrêt d'urgence"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "comme avant"
+
msgid "Plugins"
msgstr "Greffons"
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian\n"
@@ -1101,6 +1101,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Izlaz u sluèaju nuŸde"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "kao prethodno"
+
msgid "Plugins"
msgstr "Dodaci"
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-12-01 21:42+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian\n"
@@ -1102,6 +1102,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr ""
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ahogy az elõbb"
+
msgid "Plugins"
msgstr "Plugins"
@@ -1106,6 +1106,10 @@ msgstr "Riavvolgimento canali"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Uscita di emergenza"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "come prima"
+
msgid "Plugins"
msgstr "Plugins"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-02-22 18:05+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian\n"
@@ -1099,6 +1099,10 @@ msgstr "Kanalų pridengimas"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Avarinis iÅ¡Ä?jimas"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "kaip anksÄiau"
+
msgid "Plugins"
msgstr "Įskiepai"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR-1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-03-11 00:54+0100\n"
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
"Language-Team: Macedonian <en@li.org>\n"
@@ -1100,6 +1100,10 @@ msgstr "Ð?Ñ?еЌПÑ?Ñ?ваÑ?е каМаÐ
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Ð?Ñ?еМ Озлез"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "какП пÑ?еÑ?Ñ?ПЎМП"
+
msgid "Plugins"
msgstr "Ð?ПЎаÑ?ПÑ?О"
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch\n"
@@ -1103,6 +1103,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Nooduitgang"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "zoals eerder"
+
msgid "Plugins"
msgstr "Plugins"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr ""
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "Minimumstid med inaktivitet (min)"
+
msgid "Plugins"
msgstr "Plugins"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Wyj¶cie awaryjne"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "jak ostatnio"
+
msgid "Plugins"
msgstr "Wtyczki"
@@ -1100,6 +1100,10 @@ msgstr "Retroceder canais"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Saída de emergência"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "Como estava"
+
msgid "Plugins"
msgstr "Plugins"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-02-11 13:38+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian\n"
@@ -1102,6 +1102,10 @@ msgstr "Lista de canale în buclã"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Oprire de urgenþã"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ca mai înainte"
+
msgid "Plugins"
msgstr "Plugin-uri"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "°ÒÐàØÙÝëÙ ÒëåÞÔ"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ÚÐÚ àÐÝìèÕ"
+
msgid "Plugins"
msgstr "ŒÞÔãÛØ àÐáèØàÕÝØï"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2009-09-30 12:50+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Núdzové ukonèenie"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ako naposledy"
+
msgid "Plugins"
msgstr "Moduly"
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian\n"
@@ -1100,6 +1100,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Izhod v sili"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "kot prej"
+
msgid "Plugins"
msgstr "Vstavki"
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish\n"
@@ -1102,6 +1102,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Oförutsedd avslutning"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "som förut"
+
msgid "Plugins"
msgstr "Moduler"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish\n"
@@ -1099,6 +1099,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Acil cýkýþ"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "önceki gibi"
+
msgid "Plugins"
msgstr "Eklentiler"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2010-04-25 16:35+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian\n"
@@ -1099,6 +1099,10 @@ msgstr "Ð?Ñ?МеÑ?Ñ? каМалÑ?в"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "ÐваÑ?Ñ?йМОй вОÑ?Ñ?ÐŽ"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "Ñк Ñ?аМÑ?Ñ?е"
+
msgid "Plugins"
msgstr "Ð?ПЎÑ?лÑ? Ñ?ПзÑ?ОÑ?еММÑ"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2010-06-06 12:52+0200\n"
+"POT-Creation-Date: 2010-08-25 20:59+0200\n"
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
"Language-Team: Chinese\n"
@@ -1102,6 +1102,10 @@ msgstr ""
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "çªå?äº?件é??å?º"
+#, fuzzy
+msgid "Setup.Miscellaneous$Access cards on demand"
+msgstr "ä¹?å?"
+
msgid "Plugins"
msgstr "æ?件讟眮"
@@ -564,6 +564,9 @@ int main(int argc, char *argv[])
bool IsInfoMenu = false;
bool CheckHasProgramme = false;
cSkin *CurrentSkin = NULL;
+ if (Setup.OnDemand) {
+ InhibitEpgScan = true; // Disable epgscan as it messes around with Access()
+ }
// Load plugins:
@@ -836,6 +839,9 @@ int main(int argc, char *argv[])
static time_t LastTimerCheck = 0;
if (Now - LastTimerCheck > TIMERCHECKDELTA) { // don't do this too often
InhibitEpgScan = false;
+ if (Setup.OnDemand) {
+ InhibitEpgScan = true; // Disable epgscan as it messes around with Access()
+ }
static time_t DeviceUsed[MAXDEVICES] = { 0 };
for (cTimer *Timer = Timers.First(); Timer; Timer = Timers.Next(Timer)) {
bool InVpsMargin = false;