summaryrefslogtreecommitdiff
path: root/pat.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2020-06-19 12:19:15 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2020-06-19 12:19:15 +0200
commit5d39daa13c8b436a08a86cf25fb2faef4f959f4e (patch)
tree02570fc0d61c50ee5185eac53a6951278a3d762c /pat.h
parent54cf10588df512f4677e06452a76fa6ffeb17751 (diff)
downloadvdr-5d39daa13c8b436a08a86cf25fb2faef4f959f4e.tar.gz
vdr-5d39daa13c8b436a08a86cf25fb2faef4f959f4e.tar.bz2
Added handling shared PMT pids and multiple PMT sections
Diffstat (limited to 'pat.h')
-rw-r--r--pat.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/pat.h b/pat.h
index b9929754..09efe4bb 100644
--- a/pat.h
+++ b/pat.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: pat.h 4.1 2016/12/23 14:03:24 kls Exp $
+ * $Id: pat.h 4.2 2020/06/19 12:19:15 kls Exp $
*/
#ifndef __PAT_H
@@ -14,20 +14,21 @@
#include "filter.h"
#include "thread.h"
-#define MAXPMTENTRIES 64
+class cPmtPidEntry;
+class cPmtSidEntry;
class cPatFilter : public cFilter {
private:
cMutex mutex;
cTimeMs timer;
int patVersion;
- int pmtIndex;
- int pmtId[MAXPMTENTRIES];
- int pmtVersion[MAXPMTENTRIES];
- int numPmtEntries;
int sid;
- int GetPmtPid(int Index) { return pmtId[Index] & 0x0000FFFF; }
- int MakePmtId(int PmtPid, int Sid) { return PmtPid | (Sid << 16); }
+ cPmtPidEntry *activePmt;
+ cList<cPmtPidEntry> pmtPidList;
+ cList<cPmtSidEntry> pmtSidList;
+ cSectionSyncer sectionSyncer;
+ bool PmtPidComplete(int PmtPid);
+ void PmtPidReset(int PmtPid);
bool PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNewVersion = false);
void SwitchToNextPmtPid(void);
protected: