Am Donnerstag, 19. Januar 2006 18:04 schrieb Klaus Schmidinger:
Maybe a better place for this would be in the main VDR loop:
// Start new recordings: if (VideoFileSpaceAvailable(300)) { cTimer *Timer = Timers.GetMatch(Now); if (Timer) { if (!cRecordControls::Start(Timer)) Timer->SetPending(true); else LastTimerChannel = Timer->Channel()->Number(); } } else if (/*TimeSinceLastNoDiskSpaceMessageGreaterLimit*/) { Skins.Message(mtWarning, tr("No disk space!")); // reset timeout limit }
BTW: brutally deleting that timer is probably not a good idea. This could be a repeating timer, or disk space could become available later. Also, the cRecordControls::Start() function is called from a loop through all timers, so if you delete it, strange things might happen ;-)
Yes, I agree but looping through all timers objects, and t->SetFlags(tfNone); ( for prove of concept ;) dosen`t have any effect at all!?
But thanks for the code. I will try this right now.
Markus