Fixed handling VPS events outside the LingerLimit, which could cause recordings to stop prematurely

This commit is contained in:
Klaus Schmidinger 2017-10-11 09:22:24 +02:00
parent ef7018cca4
commit 7bbbfb0dee
3 changed files with 7 additions and 3 deletions

View File

@ -2837,6 +2837,8 @@ Johann Friedrichs <johann.friedrichs@web.de>
false
for reporting an invalid lock sequence in the epgsearch plugin, which turned out to
be an abandoned member of class cSchedulesLock
for fixing handling VPS events outside the LingerLimit, which could cause recordings to
stop prematurely
Timo Helkio <timolavi@mbnet.fi>
for reporting a hangup when replaying a TS recording with subtitles activated

View File

@ -9162,9 +9162,11 @@ Video Disk Recorder Revision History
a subdirectory.
- SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details).
2017-08-31: Version 2.3.9
2017-10-11: Version 2.3.9
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed a possible crash when stopping VDR (thanks to Matthias Senzel for reporting and
helping to debug this one).
- Fixed handling VPS events outside the LingerLimit, which could cause recordings to
stop prematurely (thanks to Johann Friedrichs).

4
eit.c
View File

@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
* $Id: eit.c 4.3 2017/05/03 08:58:41 kls Exp $
* $Id: eit.c 4.4 2017/10/11 09:19:42 kls Exp $
*/
#include "eit.h"
@ -94,10 +94,10 @@ cEIT::cEIT(cSectionSyncerHash &SectionSyncerHash, int Source, u_char Tid, const
// Drop bogus events - but keep NVOD reference events, where all bits of the start time field are set to 1, resulting in a negative number.
if (StartTime == 0 || StartTime > 0 && Duration == 0)
continue;
Empty = false;
// Ignore events that ended before the "EPG linger time":
if (StartTime + Duration < LingerLimit)
continue;
Empty = false;
if (!SegmentStart)
SegmentStart = StartTime;
SegmentEnd = StartTime + Duration;