diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e6802474..c4051b37 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -491,6 +491,8 @@ Oliver Endriss for fixing I/O handling in case an explicit controlling terminal is given for fixing displaying still pictures, now using the driver's VIDEO_STILLPICTURE call directly + for reporting and helping to debug dropping out of replay mode while viewing a + recording that is still going on Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index 3a6db48a..37473fda 100644 --- a/HISTORY +++ b/HISTORY @@ -2375,3 +2375,9 @@ Video Disk Recorder Revision History - The DVB devices no longer send CA descriptors to the CAM while the EPG scanner is active (sometimes the CAMs got irritated when the device tuned to channels they couldn't handle). + +2003-09-09: Version 1.2.5 + +- Fixed dropping out of replay mode while viewing a recording that is still + going on (thanks to Oliver Endriss for reporting and helping to debug this + one). diff --git a/config.h b/config.h index b65b2657..04f1c230 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.171 2003/09/05 13:18:38 kls Exp $ + * $Id: config.h 1.172 2003/09/09 16:06:09 kls Exp $ */ #ifndef __CONFIG_H @@ -19,7 +19,7 @@ #include "device.h" #include "tools.h" -#define VDRVERSION "1.2.5pre2" +#define VDRVERSION "1.2.5" #define VDRVERSNUM 10205 // Version * 10000 + Major * 100 + Minor #define MAXPRIORITY 99 diff --git a/recording.c b/recording.c index bcbfd9f6..6d01ffa4 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 1.82 2003/08/17 09:10:46 kls Exp $ + * $Id: recording.c 1.83 2003/09/09 16:02:55 kls Exp $ */ #include "recording.h" @@ -859,6 +859,7 @@ bool cIndexFile::CatchUp(int Index) { // returns true unless something really goes wrong, so that 'index' becomes NULL if (index && f >= 0) { + cMutexLock MutexLock(&mutex); for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) { struct stat buf; if (fstat(f, &buf) == 0) { diff --git a/recording.h b/recording.h index 677e354b..42fc1a20 100644 --- a/recording.h +++ b/recording.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.h 1.26 2003/08/17 09:03:46 kls Exp $ + * $Id: recording.h 1.27 2003/09/09 16:00:56 kls Exp $ */ #ifndef __RECORDING_H @@ -12,6 +12,7 @@ #include #include "config.h" +#include "thread.h" #include "timers.h" #include "tools.h" @@ -130,6 +131,7 @@ private: int size, last; tIndex *index; cResumeFile resumeFile; + cMutex mutex; bool CatchUp(int Index = -1); public: cIndexFile(const char *FileName, bool Record);