Fixed the SVDRP command CLRE for a single channel in case there are events that have a timer

This commit is contained in:
Klaus Schmidinger 2012-01-12 15:11:50 +01:00
parent 70d4e5105b
commit 4bd9756caf
3 changed files with 9 additions and 1 deletions

View File

@ -2492,6 +2492,8 @@ Timo Eskola <timo@tolleri.net>
for implementing sending all frames to devices that can handle them in fast forward
trick speeds
for implementing the setup option "Recording/Pause key handling"
for fixing the SVDRP command CLRE for a single channel in case there are events
that have a timer
Elias Luttinen <el@iki.fi>
for improving the description of where logging goes in the INSTALL file

View File

@ -6816,3 +6816,5 @@ Video Disk Recorder Revision History
- Fixed cConfig::Load() for g++ version 4.7.0 (thanks to Ville Skyttä).
- Fixed a possible memory corruption in cTsToPes::GetPes() in case of broken
TS packets, e.g. when switching channels.
- Fixed the SVDRP command CLRE for a single channel in case there are events
that have a timer (thanks to Timo Eskola).

View File

@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection.
*
* $Id: svdrp.c 2.12 2011/12/04 13:58:33 kls Exp $
* $Id: svdrp.c 2.13 2012/01/12 15:02:46 kls Exp $
*/
#include "svdrp.h"
@ -583,6 +583,10 @@ void cSVDRP::CmdCLRE(const char *Option)
}
}
if (Schedule) {
for (cTimer *Timer = Timers.First(); Timer; Timer = Timers.Next(Timer)) {
if (ChannelID == Timer->Channel()->GetChannelID().ClrRid())
Timer->SetEvent(NULL);
}
Schedule->Cleanup(INT_MAX);
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME);
Reply(250, "EPG data of channel \"%s\" cleared", Option);