[vdr] how to stop timer?

Markus Hahn mhahn at reel-multimedia.com
Thu Jan 19 18:13:47 CET 2006


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 
 
 



More information about the vdr mailing list