summaryrefslogtreecommitdiff
path: root/vdr.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2000-11-18 13:57:32 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2000-11-18 13:57:32 +0100
commit6439a8e169167e116efd9630564b5629efcd657b (patch)
tree93cfaaccc5fcad64a4e9f0d63ef8094f347f6274 /vdr.c
parent5e272f90653736e6bc115660fa39cbe6d2ab0403 (diff)
downloadvdr-6439a8e169167e116efd9630564b5629efcd657b.tar.gz
vdr-6439a8e169167e116efd9630564b5629efcd657b.tar.bz2
All cards write EIT info into the same data structure; free cards scan for EIT info
Diffstat (limited to 'vdr.c')
-rw-r--r--vdr.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/vdr.c b/vdr.c
index 060a9d00..8a842003 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/people/kls/vdr
*
- * $Id: vdr.c 1.45 2000/11/11 14:40:11 kls Exp $
+ * $Id: vdr.c 1.46 2000/11/18 13:46:56 kls Exp $
*/
#include <getopt.h>
@@ -181,6 +181,8 @@ int main(int argc, char *argv[])
Channels.SwitchTo(1);
+ cEITScanner EITScanner;
+
// User interface:
Interface = new cInterface(SVDRPport);
@@ -205,7 +207,7 @@ int main(int argc, char *argv[])
while (!Interrupted) {
// Channel display:
- if (cDvbApi::CurrentChannel() != LastChannel) {
+ if (!EITScanner.Active() && cDvbApi::CurrentChannel() != LastChannel) {
if (!Menu)
Menu = new cDisplayChannel(cDvbApi::CurrentChannel(), LastChannel > 0);
PreviousChannel = LastChannel;
@@ -224,6 +226,8 @@ int main(int argc, char *argv[])
// User Input:
cOsdBase **Interact = Menu ? &Menu : (cOsdBase **)&ReplayControl;
eKeys key = Interface->GetKey(!*Interact || !(*Interact)->NeedsFastResponse());
+ if (NORMALKEY(key) != kNone)
+ EITScanner.Activity();
if (*Interact) {
switch ((*Interact)->ProcessKey(key)) {
case osMenu: DELETENULL(Menu);
@@ -302,6 +306,8 @@ int main(int argc, char *argv[])
default: break;
}
}
+ if (!Menu)
+ EITScanner.Process();
}
isyslog(LOG_INFO, "caught signal %d", Interrupted);
delete Menu;