Group :: Video
RPM: vdr
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: vdr-1.3.10-epgfix.diff
Download
Download
--- eitscan.c 2004-04-16 15:33:34.000000000 +0200
+++ eitscan.c 2004-06-10 15:36:26.000000000 +0200
@@ -121,6 +121,21 @@
lastActivity = time(NULL);
}
+#include "plugin.h"
+#define SC_NAME "sc"
+#define SC_MAGIC { 0,'S','C',0xc4,0x5e,0xa1 }
+#define OP_PROVIDES 0
+#define OP_IGNORE 1
+
+struct ScLink {
+ char magic[6];
+ short op;
+ const cDevice *dev;
+ unsigned short *caids;
+ const cChannel *channel;
+ int num;
+ };
+
void cEITScanner::Process(void)
{
if (Setup.EPGScanTimeout && Channels.MaxNumber() > 1) {
@@ -152,6 +167,16 @@
Skins.Message(mtInfo, "Starting EPG scan");
}
currentDevice = Device;//XXX see also dvbdevice.c!!!
+
+ if(Channel->Ca()>=0x100) {
+ cPlugin *p = cPluginManager::GetPlugin(SC_NAME);
+ if(p) { // ignore this channel in SC (ugly hack!)
+ struct ScLink link = { SC_MAGIC,0,Device,0,Channel,0 };
+ link.op=OP_IGNORE;
+ p->SetupParse((const char *)&link,"");
+ }
+ }
+
Device->SwitchChannel(Channel, false);
currentDevice = NULL;
scanList->Del(ScanData);