summaryrefslogtreecommitdiff
path: root/vdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'vdr.c')
-rw-r--r--vdr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vdr.c b/vdr.c
index fc12f00..c444985 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.172 2004/01/04 11:12:05 kls Exp $
+ * $Id: vdr.c 1.174 2004/01/17 16:56:57 kls Exp $
*/
#include <getopt.h>
@@ -52,6 +52,7 @@
#include "sources.h"
#include "timers.h"
#include "tools.h"
+#include "transfer.h"
#include "videodir.h"
#define MINCHANNELWAIT 10 // seconds to wait between failed channel switchings
@@ -520,7 +521,7 @@ int main(int argc, char *argv[])
if (Channel && Channel->Modification(CHANNELMOD_RETUNE)) {
cRecordControls::ChannelDataModified(Channel);
if (Channel->Number() == cDevice::CurrentChannel()) {
- if (!cDevice::PrimaryDevice()->Replaying()) {
+ if (!cDevice::PrimaryDevice()->Replaying() || cTransferControl::ReceiverDevice()) {
isyslog("retuning due to modification of channel %d", Channel->Number());
Channels.SwitchTo(Channel->Number());
}
@@ -795,6 +796,7 @@ int main(int argc, char *argv[])
if (Interface->Confirm(tr("Press any key to cancel shutdown"), UserShutdown ? 5 : SHUTDOWNWAIT, true)) {
int Channel = timer ? timer->Channel()->Number() : 0;
const char *File = timer ? timer->File() : "";
+ Delta = Next - time(NULL); // compensates for Confirm() timeout
char *cmd;
asprintf(&cmd, "%s %ld %ld %d \"%s\" %d", Shutdown, Next, Delta, Channel, strescape(File, "\"$"), UserShutdown);
isyslog("executing '%s'", cmd);