summaryrefslogtreecommitdiff
path: root/eitscan.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-01-17 15:38:11 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2004-01-17 15:38:11 +0100
commite4960d169e8f1184e571ab60df39e1ab2e584eb6 (patch)
tree1b1db050aef6f0da1cc4c91a0a678e46a9e16a95 /eitscan.c
parent004b82d3d44a2fdf455ec5f6f8f95dd7bc3ad659 (diff)
downloadvdr-e4960d169e8f1184e571ab60df39e1ab2e584eb6.tar.gz
vdr-e4960d169e8f1184e571ab60df39e1ab2e584eb6.tar.bz2
The "Red" button in the "Setup/EPG" menu can now be used to force an EPG scan on a single DVB card system
Diffstat (limited to 'eitscan.c')
-rw-r--r--eitscan.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/eitscan.c b/eitscan.c
index b6f001ac..a2096af9 100644
--- a/eitscan.c
+++ b/eitscan.c
@@ -4,13 +4,14 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: eitscan.c 1.19 2004/01/17 13:13:47 kls Exp $
+ * $Id: eitscan.c 1.20 2004/01/17 15:38:11 kls Exp $
*/
#include "eitscan.h"
#include <stdlib.h>
#include "channels.h"
#include "dvbdevice.h"
+#include "interface.h"
// --- cScanData -------------------------------------------------------------
@@ -106,6 +107,11 @@ void cEITScanner::AddTransponder(cChannel *Channel)
transponderList->AddTransponder(Channel);
}
+void cEITScanner::ForceScan(void)
+{
+ lastActivity = 0;
+}
+
void cEITScanner::Activity(void)
{
if (currentChannel) {
@@ -142,8 +148,10 @@ void cEITScanner::Process(void)
if (Channel) {
//XXX if (Device->ProvidesTransponder(Channel)) {
if ((!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) && Device->ProvidesTransponder(Channel)) { //XXX temporary for the 'sky' plugin
- if (Device == cDevice::PrimaryDevice() && !currentChannel)
+ if (Device == cDevice::PrimaryDevice() && !currentChannel) {
currentChannel = Device->CurrentChannel();
+ Interface->Info("Starting EPG scan");
+ }
currentDevice = Device;//XXX see also dvbdevice.c!!!
Device->SwitchChannel(Channel, false);
currentDevice = NULL;
@@ -166,6 +174,8 @@ void cEITScanner::Process(void)
if (!scanList->Count()) {
delete scanList;
scanList = NULL;
+ if (lastActivity == 0) // this was a triggered scan
+ Activity();
break;
}
}