diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 4 | ||||
-rw-r--r-- | pat.c | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 12746d53..6b29cd93 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3636,6 +3636,8 @@ Helmut Binder <cco@aon.at> cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this for fixing "read incomplete section" errors for fixing generating the HashId in cEIT::cEIT() + for fixing a bug in handling shared PMTs, where after the first pass not all SIDs of a + PMT pid were checked any more Ulrich Eckhardt <uli@uli-eckhardt.de> for reporting a problem with shutdown after user inactivity in case a plugin is @@ -9536,7 +9536,7 @@ Video Disk Recorder Revision History cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this (thanks to Helmut Binder). -2020-12-05: +2020-12-09: - Fixed multiple recording entries in case a recording is started during the initial reading of the video directory (reported by Claus Muus). @@ -9549,3 +9549,5 @@ Video Disk Recorder Revision History - Fixed "read incomplete section" errors (thanks to Helmut Binder). - Fixed generating the HashId in cEIT::cEIT() (thanks to Helmut Binder). - Added initialization of cDvbFrontend::frontendInfo (thanks to Winfried Köhler). +- Fixed a bug in handling shared PMTs, where after the first pass not all SIDs of a + PMT pid were checked any more (thanks to Helmut Binder). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: pat.c 4.6 2020/06/19 12:19:15 kls Exp $ + * $Id: pat.c 4.7 2020/12/09 21:42:26 kls Exp $ */ #include "pat.h" @@ -389,8 +389,7 @@ bool cPatFilter::PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNew if (se->Sid() == Sid && se->Pid() == PmtPid) { if (!se->Received()) { se->SetReceived(true); - if (PmtPidComplete(PmtPid)) - se->PidEntry()->SetComplete(true); + se->PidEntry()->SetComplete(PmtPidComplete(PmtPid)); } if (se->Version() != Version) { DBGLOG("PMT %d %2d %5d/%d %2d -> %2d", Transponder(), i, PmtPid, Sid, se->Version(), Version); @@ -411,6 +410,7 @@ void cPatFilter::SwitchToNextPmtPid(void) if (!(activePmt = pmtPidList.Next(activePmt))) activePmt = pmtPidList.First(); PmtPidReset(activePmt->Pid()); + activePmt->SetComplete(false); Add(activePmt->Pid(), SI::TableIdPMT); } } |