diff --git a/HISTORY b/HISTORY index 016fb6a6..ebf8ad64 100644 --- a/HISTORY +++ b/HISTORY @@ -9375,3 +9375,4 @@ Video Disk Recorder Revision History missing EPG data on channels from Canal Digital Norway (reported by Stian B. Barmen). - Fixed accessing the actual frontend on multi frontend devices (thanks to Helmut Binder). - Fixed opening the UDP port in peerdemo (thanks to Robert Hannebauer). +- Fixed handling PATs that contain no PMTs. diff --git a/pat.c b/pat.c index e40d2d5f..7e8b183a 100644 --- a/pat.c +++ b/pat.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: pat.c 4.3 2016/12/23 14:02:07 kls Exp $ + * $Id: pat.c 4.4 2019/03/11 13:20:27 kls Exp $ */ #include "pat.h" @@ -372,7 +372,8 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } if (numPmtEntries > 0 && pmtIndex < 0) pmtIndex = 0; - Add(GetPmtPid(pmtIndex), SI::TableIdPMT); + if (pmtIndex >= 0) + Add(GetPmtPid(pmtIndex), SI::TableIdPMT); patVersion = pat.getVersionNumber(); timer.Set(PMT_SCAN_TIMEOUT); }