When regenerating the index of a recording, the frame rate stored in the info file is now automatically fixed if it differs from the value detected by the frame detector

This commit is contained in:
Klaus Schmidinger 2012-12-05 10:37:41 +01:00
parent 76a9b09e25
commit 41f94447d6
2 changed files with 12 additions and 1 deletions

View File

@ -7387,3 +7387,6 @@ Video Disk Recorder Revision History
- The new option "Setup/Replay/Pause on mark set" can be used to activate automatically - The new option "Setup/Replay/Pause on mark set" can be used to activate automatically
going into Pause mode if an editing mark is set during replay (suggested by Andre going into Pause mode if an editing mark is set during replay (suggested by Andre
Weidemann). Weidemann).
- When regenerating the index of a recording, the frame rate stored in the info file
is now automatically fixed if it differs from the value detected by the frame
detector.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 2.75 2012/11/26 09:39:59 kls Exp $ * $Id: recording.c 2.76 2012/12/05 10:32:00 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -1642,6 +1642,14 @@ void cIndexFileGenerator::Action(void)
} }
if (IndexFileComplete) { if (IndexFileComplete) {
if (IndexFileWritten) { if (IndexFileWritten) {
cRecordingInfo RecordingInfo(recordingName);
if (RecordingInfo.Read()) {
if (FrameDetector.FramesPerSecond() > 0 && !DoubleEqual(RecordingInfo.FramesPerSecond(), FrameDetector.FramesPerSecond())) {
RecordingInfo.SetFramesPerSecond(FrameDetector.FramesPerSecond());
RecordingInfo.Write();
Recordings.UpdateByName(recordingName);
}
}
Skins.QueueMessage(mtInfo, tr("Index file regeneration complete")); Skins.QueueMessage(mtInfo, tr("Index file regeneration complete"));
return; return;
} }