summaryrefslogtreecommitdiff
path: root/pat.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2020-12-09 21:42:26 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2020-12-09 21:42:26 +0100
commit9fa7de20368fe2cc517f0c2c43088d051e5f21fb (patch)
tree52e7ae6b28bc08db0700483cc850403d8d19af71 /pat.c
parentbacc87389621cc4f8c3bcad8f4267c6f4e47574d (diff)
downloadvdr-9fa7de20368fe2cc517f0c2c43088d051e5f21fb.tar.gz
vdr-9fa7de20368fe2cc517f0c2c43088d051e5f21fb.tar.bz2
Fixed a bug in handling shared PMTs, where after the first pass not all SIDs of a PMT pid were checked any more
Diffstat (limited to 'pat.c')
-rw-r--r--pat.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/pat.c b/pat.c
index 2f2e286c..eccec25b 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.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);
}
}