Now invalidating /video cache _after_ cutting

This commit is contained in:
Klaus Schmidinger 2006-07-30 10:29:24 +02:00
parent cacd58d036
commit ae4633feb0
5 changed files with 14 additions and 8 deletions

View File

@ -279,6 +279,8 @@ Artur Skawina <skawina@geocities.com>
for a patch that contained a fix for checking toFile in cCuttingThread::Action() for a patch that contained a fix for checking toFile in cCuttingThread::Action()
for improving cUnbufferedFile for improving cUnbufferedFile
for fixing calculating the cache size in cUnbufferedFile::Read() for fixing calculating the cache size in cUnbufferedFile::Read()
for making the /video/.update file be touched _after_ an editing process is finished
in order to avoid excessive disk access
Werner Fink <werner@suse.de> Werner Fink <werner@suse.de>
for making I/O more robust by handling EINTR for making I/O more robust by handling EINTR

View File

@ -4835,7 +4835,7 @@ Video Disk Recorder Revision History
only done for normal keypresses, not for repeated ones. This allows the user to only done for normal keypresses, not for repeated ones. This allows the user to
scroll the value all the way to the limit by keeping the key pressed. scroll the value all the way to the limit by keeping the key pressed.
2006-07-29: Version 1.4.1-3 2006-07-30: Version 1.4.1-3
- Fixed assigning schedules to channels in case there is no initial EPG information - Fixed assigning schedules to channels in case there is no initial EPG information
(thanks to Frank Schmirler). (thanks to Frank Schmirler).
@ -4844,3 +4844,5 @@ Video Disk Recorder Revision History
- Fixed cDevice::ToggleMute() (thanks to Christoph Haubrich). - Fixed cDevice::ToggleMute() (thanks to Christoph Haubrich).
- Fixed deleting the last character of a string menu item in insert mode (thanks - Fixed deleting the last character of a string menu item in insert mode (thanks
to Udo Richter). to Udo Richter).
- The /video/.update file is now touched _after_ an editing process is finished
in order to avoid excessive disk access (thanks to Artur Skawina).

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: cutter.c 1.15 2006/02/12 10:07:23 kls Exp $ * $Id: cutter.c 1.16 2006/07/30 10:22:08 kls Exp $
*/ */
#include "cutter.h" #include "cutter.h"
@ -171,6 +171,7 @@ void cCuttingThread::Action(void)
LastMark = true; LastMark = true;
} }
} }
Recordings.TouchUpdate();
} }
else else
esyslog("no editing marks found!"); esyslog("no editing marks found!");
@ -205,7 +206,7 @@ bool cCutter::Start(const char *FileName)
// XXX // XXX
editedVersionName = strdup(evn); editedVersionName = strdup(evn);
Recording.WriteInfo(); Recording.WriteInfo();
Recordings.AddByName(editedVersionName); Recordings.AddByName(editedVersionName, false);
cuttingThread = new cCuttingThread(FileName, editedVersionName); cuttingThread = new cCuttingThread(FileName, editedVersionName);
return true; return true;
} }

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 1.148 2006/04/29 13:22:20 kls Exp $ * $Id: recording.c 1.149 2006/07/30 10:23:46 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -970,7 +970,7 @@ cRecording *cRecordings::GetByName(const char *FileName)
return NULL; return NULL;
} }
void cRecordings::AddByName(const char *FileName) void cRecordings::AddByName(const char *FileName, bool TriggerUpdate)
{ {
LOCK_THREAD; LOCK_THREAD;
cRecording *recording = GetByName(FileName); cRecording *recording = GetByName(FileName);
@ -978,7 +978,8 @@ void cRecordings::AddByName(const char *FileName)
recording = new cRecording(FileName); recording = new cRecording(FileName);
Add(recording); Add(recording);
ChangeState(); ChangeState();
TouchUpdate(); if (TriggerUpdate)
TouchUpdate();
} }
} }

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.h 1.54 2006/04/09 13:47:11 kls Exp $ * $Id: recording.h 1.55 2006/07/30 10:24:07 kls Exp $
*/ */
#ifndef __RECORDING_H #ifndef __RECORDING_H
@ -133,7 +133,7 @@ public:
bool StateChanged(int &State); bool StateChanged(int &State);
void ResetResume(const char *ResumeFileName = NULL); void ResetResume(const char *ResumeFileName = NULL);
cRecording *GetByName(const char *FileName); cRecording *GetByName(const char *FileName);
void AddByName(const char *FileName); void AddByName(const char *FileName, bool TriggerUpdate = true);
void DelByName(const char *FileName); void DelByName(const char *FileName);
int TotalFileSizeMB(void); ///< Only for deleted recordings! int TotalFileSizeMB(void); ///< Only for deleted recordings!
}; };