summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2018-03-08 17:03:51 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2018-03-08 17:03:51 +0100
commit1275de1b07f8182d2a1b4008cc6cfd2b9c34117c (patch)
tree66bb74a611db56cf72bf8c3f5cb21f817e84b3db
parent746ce7d4067fc5f31c6e540e4179583f7713ba58 (diff)
downloadvdr-1275de1b07f8182d2a1b4008cc6cfd2b9c34117c.tar.gz
vdr-1275de1b07f8182d2a1b4008cc6cfd2b9c34117c.tar.bz2
Now writing the info file before attaching the recorder to the device, to make sure it is present when the recorder needs to update the fps value
-rw-r--r--HISTORY2
-rw-r--r--menu.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/HISTORY b/HISTORY
index babf8135..43a96c1c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9300,3 +9300,5 @@ Video Disk Recorder Revision History
all remote VDRs.
- Fixed removing a cStateKey from a cStateLock (setting StateKey.stateLock = NULL was
done too late, after the lock had already been released).
+- Now writing the info file before attaching the recorder to the device, to make sure it
+ is present when the recorder needs to update the fps value.
diff --git a/menu.c b/menu.c
index 92b0565c..b6c81dc5 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 4.66 2018/03/05 15:37:23 kls Exp $
+ * $Id: menu.c 4.67 2018/03/08 17:02:56 kls Exp $
*/
#include "menu.h"
@@ -5233,17 +5233,17 @@ cRecordControl::cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer,
cRecordingUserCommand::InvokeCommand(RUC_BEFORERECORDING, fileName);
isyslog("record %s", fileName);
if (MakeDirs(fileName, true)) {
+ Recording.WriteInfo(); // we write this *before* attaching the recorder to the device, to make sure the info file is present when the recorder needs to update the fps value!
const cChannel *ch = timer->Channel();
recorder = new cRecorder(fileName, ch, timer->Priority());
if (device->AttachReceiver(recorder)) {
- Recording.WriteInfo();
cStatus::MsgRecording(device, Recording.Name(), Recording.FileName(), true);
if (!Timer && !LastReplayed) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
cReplayControl::SetRecording(fileName);
SchedulesStateKey.Remove();
LOCK_RECORDINGS_WRITE;
- Recordings->AddByName(fileName);
SetRecordingTimerId(fileName, cString::sprintf("%d@%s", timer->Id(), Setup.SVDRPHostName));
+ Recordings->AddByName(fileName);
return;
}
else