vdr 2.6.1
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 5.3 2021/06/21 20:13:55 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
17class cPmtPidEntry;
18class cPmtSidEntry;
19class cPmtSidRequest;
20
21class cPatFilter : public cFilter {
22private:
25 int patVersion;
30 int source;
31 int transponder;
34 bool PmtPidComplete(int PmtPid);
35 void PmtPidReset(int PmtPid);
36 bool PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNewVersion = false);
37 int NumSidRequests(int Sid);
39protected:
40 virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
41public:
43 virtual void SetStatus(bool On);
44 void Trigger(int = 0); // triggers reading the PMT PIDs that are currently not requested (dummy parameter for backwards compatibility, value is ignored)
45 void Request(int Sid); // requests permanent reading of the PMT PID for this SID
46 void Release(int Sid); // releases permanent reading of the PMT PID for this SID
47 };
48
49void GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSystemIds, cDynamicBuffer &Buffer, int EsPid);
55
56int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids);
64
65int GetPmtPid(int Source, int Transponder, int ServiceId);
67
68#endif //__PAT_H
Definition: filter.h:80
int NumSidRequests(int Sid)
void Trigger(int=0)
void PmtPidReset(int PmtPid)
cList< cPmtSidRequest > pmtSidRequestList
bool PmtPidComplete(int PmtPid)
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
Processes the data delivered to this filter.
void SwitchToNextPmtPid(void)
bool PmtVersionChanged(int PmtPid, int Sid, int Version, bool SetNewVersion=false)
cPatFilter(void)
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
void Request(int Sid)
cTimeMs timer
cSectionSyncer sectionSyncer
cList< cPmtSidEntry > pmtSidList
bool TransponderChanged(void)
void Release(int Sid)
cPmtPidEntry * activePmt
cList< cPmtPidEntry > pmtPidList
unsigned char u_char
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