summaryrefslogtreecommitdiff
path: root/dvbapi.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-04-06 13:21:47 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-04-06 13:21:47 +0200
commitd00b5d8828ca997e0cfbced124de645594565837 (patch)
treee1b193620b5846ef8b5f8ec6c4c65cd29cc14047 /dvbapi.c
parentcb0e6f1b14caedc72675d2535cf8ee9aa354fcc2 (diff)
downloadvdr-d00b5d8828ca997e0cfbced124de645594565837.tar.gz
vdr-d00b5d8828ca997e0cfbced124de645594565837.tar.bz2
Now the EPG scan skips channels that have their 'Ca' parameter explicitly set to an other DVB card
Diffstat (limited to 'dvbapi.c')
-rw-r--r--dvbapi.c18
1 files changed, 11 insertions, 7 deletions
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++;
}