summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2019-03-11 13:21:17 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2019-03-11 13:21:17 +0100
commit61c00ccae5d2913c32c075314b7b588b5880d7eb (patch)
tree97261ea374226dc5fd73b0c083d264bbf5815af9
parent084f51c7db678eca0cf1bfb7398088fba2dbb3cd (diff)
downloadvdr-61c00ccae5d2913c32c075314b7b588b5880d7eb.tar.gz
vdr-61c00ccae5d2913c32c075314b7b588b5880d7eb.tar.bz2
Fixed handling PATs that contain no PMTs
-rw-r--r--HISTORY1
-rw-r--r--pat.c5
2 files changed, 4 insertions, 2 deletions
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);
}