summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-08-17 09:18:40 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2003-08-17 09:18:40 +0200
commit12d5d01faa95d65dba09d6b6313f59d2d2433ca9 (patch)
treed6f53979df0024af2ae4f4229e02e405ddc14923
parentb65687ebcfe79f8258bf3ca9ece057f16fae047b (diff)
downloadvdr-12d5d01faa95d65dba09d6b6313f59d2d2433ca9.tar.gz
vdr-12d5d01faa95d65dba09d6b6313f59d2d2433ca9.tar.bz2
Removing deleted recordings faster than normal when cutting1.2.3
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY4
-rw-r--r--cutter.c4
-rw-r--r--recording.c7
-rw-r--r--recording.h4
5 files changed, 16 insertions, 7 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a1097e26..aee41312 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -763,3 +763,7 @@ Reinhard Nissl <rnissl@gmx.de>
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
device used by the timer, and the timer needs a different transponder
+
+Manfred Schmidt-Voigt <manfred.schmidt-voigt@mannitec.de>
+ for reporting a problem with runnign out of disk space while cutting in case
+ there are still deleted recordings to remove
diff --git a/HISTORY b/HISTORY
index 5622eb70..1f2b7120 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2283,7 +2283,7 @@ Video Disk Recorder Revision History
or Makefile.config as defaults (thanks to Steffen Barszus).
- Added the usual menu timeout to the CAM menus.
-2003-08-16: Version 1.2.3
+2003-08-17: Version 1.2.3
- Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to
Andreas Kool).
@@ -2312,3 +2312,5 @@ Video Disk Recorder Revision History
- Made the "Zap timeout" (the time until a channel counts as "previous" for
switching with '0') a setup variable, available in "Setup/Miscellaneous"
(suggested by Helmut Auer).
+- Removing deleted recordings faster than normal when cutting, to avoid running
+ out of disk space (thanks to Manfred Schmidt-Voigt for reporting this one).
diff --git a/cutter.c b/cutter.c
index 01e460d6..dfad77e4 100644
--- a/cutter.c
+++ b/cutter.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: cutter.c 1.4 2003/05/24 11:59:33 kls Exp $
+ * $Id: cutter.c 1.5 2003/08/17 09:04:04 kls Exp $
*/
#include "cutter.h"
@@ -86,7 +86,7 @@ void cCuttingThread::Action(void)
// Make sure there is enough disk space:
- AssertFreeDiskSpace();
+ AssertFreeDiskSpace(-1);
// Read one frame:
diff --git a/recording.c b/recording.c
index 2e3676a3..bcbfd9f6 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.81 2003/08/15 15:23:10 kls Exp $
+ * $Id: recording.c 1.82 2003/08/17 09:10:46 kls Exp $
*/
#include "recording.h"
@@ -95,7 +95,8 @@ void AssertFreeDiskSpace(int Priority)
// a file, or mark a file for removal ("delete" it), so that
// it will get removed during the next call.
static time_t LastFreeDiskCheck = 0;
- if (time(NULL) - LastFreeDiskCheck > DISKCHECKDELTA) {
+ int Factor = (Priority == -1) ? 10 : 1;
+ if (time(NULL) - LastFreeDiskCheck > DISKCHECKDELTA / Factor) {
if (!VideoFileSpaceAvailable(MINDISKSPACE)) {
// Make sure only one instance of VDR does this:
cLockFile LockFile(VideoDirectory);
@@ -113,7 +114,7 @@ void AssertFreeDiskSpace(int Priority)
r = Recordings.Next(r);
}
if (r0 && r0->Remove()) {
- LastFreeDiskCheck += REMOVELATENCY;
+ LastFreeDiskCheck += REMOVELATENCY / Factor;
return;
}
}
diff --git a/recording.h b/recording.h
index 82f2fcca..677e354b 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.25 2002/10/19 15:48:52 kls Exp $
+ * $Id: recording.h 1.26 2003/08/17 09:03:46 kls Exp $
*/
#ifndef __RECORDING_H
@@ -17,6 +17,8 @@
void RemoveDeletedRecordings(void);
void AssertFreeDiskSpace(int Priority = 0);
+ ///< The special Priority value -1 means that we shall get rid of any
+ ///< deleted recordings faster than normal (because we're cutting).
class cResumeFile {
private: