summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-08-20 11:24:42 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2005-08-20 11:24:42 +0200
commit7683e67826be4c23d882565face22dad287a11f6 (patch)
tree94269d707b0a12be293ebf184a097dc3b15a2c5e
parent101ee309e5883b42055ec0eeb3d73c6ade468b95 (diff)
downloadvdr-7683e67826be4c23d882565face22dad287a11f6.tar.gz
vdr-7683e67826be4c23d882565face22dad287a11f6.tar.bz2
Improved responsiveness inside CAM menus
-rw-r--r--HISTORY4
-rw-r--r--config.h6
-rw-r--r--vdr.c14
3 files changed, 18 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index 15c60acb..254ebbcb 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3699,3 +3699,7 @@ Video Disk Recorder Revision History
this).
- Removed the VIDEO_STILLPICTURE_WORKS_WITH_VDR_FRAMES stuff from
cDvbDevice::StillPicture(), since apparently the VIDEO_STILLPICTURE call works.
+
+2005-08-20: Version 1.3.30
+
+- Improved responsiveness inside CAM menus.
diff --git a/config.h b/config.h
index 57eed300..a2e6c35c 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.223 2005/08/13 09:43:27 kls Exp $
+ * $Id: config.h 1.224 2005/08/20 10:29:35 kls Exp $
*/
#ifndef __CONFIG_H
@@ -20,8 +20,8 @@
#include "i18n.h"
#include "tools.h"
-#define VDRVERSION "1.3.29"
-#define VDRVERSNUM 10329 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.3.30"
+#define VDRVERSNUM 10330 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99
diff --git a/vdr.c b/vdr.c
index f58d02bf..c8f57a2b 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
- * $Id: vdr.c 1.209 2005/07/31 11:25:16 kls Exp $
+ * $Id: vdr.c 1.210 2005/08/20 11:24:42 kls Exp $
*/
#include <getopt.h>
@@ -63,6 +63,8 @@
#define SHUTDOWNWAIT 300 // seconds to wait in user prompt before automatic shutdown
#define MANUALSTART 600 // seconds the next timer must be in the future to assume manual start
#define CHANNELSAVEDELTA 600 // seconds before saving channels.conf after automatic modifications
+#define LASTCAMMENUTIMEOUT 3 // seconds to run the main loop 'fast' after a CAM menu has been closed
+ // in order to react on a possible new CAM menu as soon as possible
#define EXIT(v) { ExitCode = (v); goto Exit; }
@@ -389,6 +391,7 @@ int main(int argc, char *argv[])
int PreviousChannelIndex = 0;
time_t LastChannelChanged = time(NULL);
time_t LastActivity = 0;
+ time_t LastCamMenu = 0;
int MaxLatencyTime = 0;
bool ForceShutdown = false;
bool UserShutdown = false;
@@ -660,11 +663,16 @@ int main(int argc, char *argv[])
if (!Menu && Recordings.NeedsUpdate())
Recordings.Load();
// CAM control:
- if (!Menu && !cOsd::IsOpen())
+ if (!Menu && !cOsd::IsOpen()) {
Menu = CamControl();
+ if (Menu)
+ LastCamMenu = 0;
+ else if (!LastCamMenu)
+ LastCamMenu = time(NULL);
+ }
// User Input:
cOsdObject *Interact = Menu ? Menu : cControl::Control();
- eKeys key = Interface->GetKey(!Interact || !Interact->NeedsFastResponse());
+ eKeys key = Interface->GetKey((!Interact || !Interact->NeedsFastResponse()) && time(NULL) - LastCamMenu > LASTCAMMENUTIMEOUT);
if (NORMALKEY(key) != kNone) {
EITScanner.Activity();
LastActivity = time(NULL);