Housekeeping now waits for a while after a replay has ended

This commit is contained in:
Klaus Schmidinger 2007-10-19 14:46:23 +02:00
parent 1e4c80799f
commit cd6041f9ae
3 changed files with 6 additions and 2 deletions

View File

@ -1537,6 +1537,7 @@ Udo Richter <udo_richter@gmx.de>
for reporting a problem in handling reallocated memory in cCharSetConv::Convert() for reporting a problem in handling reallocated memory in cCharSetConv::Convert()
for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode() for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode()
for improving shutdown handling for improving shutdown handling
for making housekeeping wait for a while after a replay has ended
Sven Kreiensen <svenk@kammer.uni-hannover.de> Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date for his help in keeping 'channels.conf.terr' up to date

View File

@ -5498,3 +5498,4 @@ Video Disk Recorder Revision History
- The "Play" key now starts replay of the selected recording in the Recordings - The "Play" key now starts replay of the selected recording in the Recordings
menu (thanks to Ville Skyttä); menu (thanks to Ville Skyttä);
- Improved shutdown handling (thanks to Udo Richter). - Improved shutdown handling (thanks to Udo Richter).
- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter).

6
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * The project's page is at http://www.cadsoft.de/vdr
* *
* $Id: vdr.c 1.300 2007/09/26 14:36:48 kls Exp $ * $Id: vdr.c 1.301 2007/10/19 14:44:19 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -523,6 +523,7 @@ int main(int argc, char *argv[])
int PreviousChannel[2] = { 1, 1 }; int PreviousChannel[2] = { 1, 1 };
int PreviousChannelIndex = 0; int PreviousChannelIndex = 0;
time_t LastChannelChanged = time(NULL); time_t LastChannelChanged = time(NULL);
time_t LastInteract = 0;
int MaxLatencyTime = 0; int MaxLatencyTime = 0;
bool InhibitEpgScan = false; bool InhibitEpgScan = false;
bool IsInfoMenu = false; bool IsInfoMenu = false;
@ -1069,6 +1070,7 @@ int main(int argc, char *argv[])
} }
Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time
if (Interact) { if (Interact) {
LastInteract = Now;
eOSState state = Interact->ProcessKey(key); eOSState state = Interact->ProcessKey(key);
if (state == osUnknown && Interact != cControl::Control()) { if (state == osUnknown && Interact != cControl::Control()) {
if (ISMODELESSKEY(key) && cControl::Control()) { if (ISMODELESSKEY(key) && cControl::Control()) {
@ -1195,7 +1197,7 @@ int main(int argc, char *argv[])
ShutdownHandler.countdown.Cancel(); ShutdownHandler.countdown.Cancel();
} }
if (!Interact && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
// Handle housekeeping tasks // Handle housekeeping tasks
// Shutdown: // Shutdown: