summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--dvbapi.c18
3 files changed, 15 insertions, 7 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 8b9e8528..b97cbcf2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -199,6 +199,8 @@ Sergei Haller <Sergei.Haller@math.uni-giessen.de>
for fixing the LastActivity timestamp after a shutdown prompt
for fixing the "Low disk space!" message
for adding the TPID to Hessen-3 in 'channels.conf'
+ for suggesting that the EPG scan should skip channels with their 'Ca' parameter
+ explicitly set to an other DVB card
Andreas Gebel <andreas@xcapenet.de>
for his help in keeping 'channels.conf' up to date
diff --git a/HISTORY b/HISTORY
index 1795aa55..5d2d89b5 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1182,3 +1182,5 @@ Video Disk Recorder Revision History
- Fixed the still picture workaround in case the progress display is active.
- Fixed a problem with accessing the epg.data file before it is fully written
(thanks to Thilo Wunderlich for reporting this one).
+- Now the EPG scan skips channels that have their 'Ca' parameter explicitly set
+ to an other DVB card (suggested by Sergei Haller).
diff --git a/dvbapi.c b/dvbapi.c
index aea8f958..83ea0627 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbapi.c 1.167 2002/04/06 11:08:54 kls Exp $
+ * $Id: dvbapi.c 1.168 2002/04/06 13:14:40 kls Exp $
*/
#include "dvbapi.h"
@@ -2804,12 +2804,16 @@ void cEITScanner::Process(void)
numTransponders = 0;
}
cChannel *Channel = Channels.GetByNumber(ch);
- if (Channel && Channel->pnr && !TransponderScanned(Channel)) {
- if (DvbApi == cDvbApi::PrimaryDvbApi && !currentChannel)
- currentChannel = DvbApi->Channel();
- Channel->Switch(DvbApi, false);
- lastChannel = ch;
- break;
+ if (Channel) {
+ if (Channel->ca <= MAXDVBAPI && !DvbApi->ProvidesCa(Channel->ca))
+ break; // the channel says it explicitly needs a different card
+ if (Channel->pnr && !TransponderScanned(Channel)) {
+ if (DvbApi == cDvbApi::PrimaryDvbApi && !currentChannel)
+ currentChannel = DvbApi->Channel();
+ Channel->Switch(DvbApi, false);
+ lastChannel = ch;
+ break;
+ }
}
ch++;
}