diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2019-03-11 13:21:17 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2019-03-11 13:21:17 +0100 |
commit | 61c00ccae5d2913c32c075314b7b588b5880d7eb (patch) | |
tree | 97261ea374226dc5fd73b0c083d264bbf5815af9 | |
parent | 084f51c7db678eca0cf1bfb7398088fba2dbb3cd (diff) | |
download | vdr-61c00ccae5d2913c32c075314b7b588b5880d7eb.tar.gz vdr-61c00ccae5d2913c32c075314b7b588b5880d7eb.tar.bz2 |
Fixed handling PATs that contain no PMTs
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | pat.c | 5 |
2 files changed, 4 insertions, 2 deletions
@@ -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. @@ -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); } |