Fixed removing deleted recordings in case there is a problem

This commit is contained in:
Klaus Schmidinger 2009-01-16 15:59:47 +01:00
parent 036c292460
commit c7ce1c37e3
3 changed files with 9 additions and 3 deletions

View File

@ -1192,6 +1192,7 @@ Reinhard Nissl <rnissl@gmx.de>
for fixing cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from
a video to an audio channel
for fixing returning complete PES packets in cTsToPes::GetPes()
for reporting a possible problem with removing deleted recordings
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -5931,3 +5931,7 @@ Video Disk Recorder Revision History
- Added clearing the TS buffers in cDevice::Detach() (thanks to Marco Schlüßler).
- Fixed incrementing the continuity counter in cPatPmtGenerator::GetPmt() (thanks
to Johann Friedrichs).
- Fixed removing deleted recordings in case there is a problem. Once a recording
caused a problem with removing, no others were removed any more and an ongoing
recording could fill up the disk and cause other recordings to be deleted
automatically (reported by Reinhard Nissl).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 2.4 2009/01/06 14:41:11 kls Exp $
* $Id: recording.c 2.5 2009/01/16 15:55:18 kls Exp $
*/
#include "recording.h"
@ -154,9 +154,10 @@ void AssertFreeDiskSpace(int Priority, bool Force)
}
r = DeletedRecordings.Next(r);
}
if (r0 && r0->Remove()) {
if (r0) {
if (r0->Remove())
LastFreeDiskCheck += REMOVELATENCY / Factor;
DeletedRecordings.Del(r0);
LastFreeDiskCheck += REMOVELATENCY / Factor;
return;
}
}