diff options
Diffstat (limited to 'pat.h')
-rw-r--r-- | pat.h | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +/* + * pat.h: PAT section filter + * + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * + * $Id: pat.h 1.3 2004/01/03 13:47:54 kls Exp $ + */ + +#ifndef __PAT_H +#define __PAT_H + +#include "filter.h" + +#define MAXPMTENTRIES 64 + +class cPatFilter : public cFilter { +private: + time_t lastPmtScan; + int pmtIndex; + int pmtPid; + int pmtVersion[MAXPMTENTRIES]; + int numPmtEntries; + bool PmtVersionChanged(int PmtPid, int Version); +protected: + virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length); +public: + cPatFilter(void); + virtual void SetStatus(bool On); + void Trigger(void); + }; + +int GetCaDescriptors(int Source, int Transponder, int ServiceId, const unsigned short *CaSystemIds, int BufSize, uchar *Data, bool &StreamFlag); + ///< Gets all CA descriptors for a given channel. + ///< Copies all available CA descriptors for the given Source, Transponder and ServiceId + ///< into the provided buffer at Data (at most BufSize bytes). Only those CA descriptors + ///< are copied that match one of the given CA system IDs. + ///< \return Returns the number of bytes copied into Data (0 if no CA descriptors are + ///< available), or -1 if BufSize was too small to hold all CA descriptors. + ///< The return value in StreamFlag tells whether these CA descriptors are to be used + ///< for the individual streams. + +#endif //__PAT_H |