vdr  1.7.27
pat.h
Go to the documentation of this file.
00001 /*
00002  * pat.h: PAT section filter
00003  *
00004  * See the main source file 'vdr.c' for copyright information and
00005  * how to reach the author.
00006  *
00007  * $Id: pat.h 2.2 2011/12/04 13:38:17 kls Exp $
00008  */
00009 
00010 #ifndef __PAT_H
00011 #define __PAT_H
00012 
00013 #include <stdint.h>
00014 #include "filter.h"
00015 
00016 #define MAXPMTENTRIES 64
00017 
00018 class cPatFilter : public cFilter {
00019 private:
00020   time_t lastPmtScan;
00021   int pmtIndex;
00022   int pmtPid;
00023   int pmtSid;
00024   uint64_t pmtVersion[MAXPMTENTRIES];
00025   int numPmtEntries;
00026   bool PmtVersionChanged(int PmtPid, int Sid, int Version);
00027 protected:
00028   virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
00029 public:
00030   cPatFilter(void);
00031   virtual void SetStatus(bool On);
00032   void Trigger(void);
00033   };
00034 
00035 int GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, uchar *Data, int EsPid);
00044 
00045 #endif //__PAT_H