vdr  2.4.7
pat.h
Go to the documentation of this file.
1 /*
2  * pat.h: PAT section filter
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * $Id: pat.h 4.2 2020/06/19 12:19:15 kls Exp $
8  */
9 
10 #ifndef __PAT_H
11 #define __PAT_H
12 
13 #include <stdint.h>
14 #include "filter.h"
15 #include "thread.h"
16 
17 class cPmtPidEntry;
18 class cPmtSidEntry;
19 
20 class cPatFilter : public cFilter {
21 private:
25  int sid;
30  bool PmtPidComplete(int PmtPid);
31  void PmtPidReset(int PmtPid);
32  bool PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNewVersion = false);
33  void SwitchToNextPmtPid(void);
34 protected:
35  virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
36 public:
37  cPatFilter(void);
38  virtual void SetStatus(bool On);
39  void Trigger(int Sid = -1);
40  };
41 
42 void GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSystemIds, cDynamicBuffer &Buffer, int EsPid);
48 
49 int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids);
57 
58 int GetPmtPid(int Source, int Transponder, int ServiceId);
60 
61 #endif //__PAT_H
Definition: filter.h:49
Definition: thread.h:67
Definition: pat.h:20
cList< cPmtSidEntry > pmtSidList
Definition: pat.h:28
void PmtPidReset(int PmtPid)
Definition: pat.c:377
bool PmtPidComplete(int PmtPid)
Definition: pat.c:368
void SwitchToNextPmtPid(void)
Definition: pat.c:407
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
Definition: pat.c:346
int sid
Definition: pat.h:25
bool PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNewVersion=false)
Definition: pat.c:385
cList< cPmtPidEntry > pmtPidList
Definition: pat.h:27
int patVersion
Definition: pat.h:24
cPatFilter(void)
Definition: pat.c:340
cTimeMs timer
Definition: pat.h:23
void Trigger(int Sid=-1)
Definition: pat.c:354
cMutex mutex
Definition: pat.h:22
cPmtPidEntry * activePmt
Definition: pat.h:26
cSectionSyncer sectionSyncer
Definition: pat.h:29
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
Processes the data delivered to this filter.
Definition: pat.c:419
Definition: tools.h:367
unsigned char u_char
Definition: headers.h:24
int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids)
Gets all CA pids for a given channel.
Definition: pat.c:273
int GetPmtPid(int Source, int Transponder, int ServiceId)
Gets the Pid of the PMT in which the CA descriptors for this channel are defined.
Definition: pat.c:278
void GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSystemIds, cDynamicBuffer &Buffer, int EsPid)
Gets all CA descriptors for a given channel.
Definition: pat.c:268