diff options
Diffstat (limited to 'filter.h')
-rw-r--r-- | filter.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/filter.h b/filter.h new file mode 100644 index 0000000..2a6b08b --- /dev/null +++ b/filter.h @@ -0,0 +1,34 @@ +#ifndef _PVR_FILTER_H_ +#define _PVR_FILTER_H_ + +#include <vdr/filter.h> + + +class cPvrSectionFilter : public cListObject { + friend class cPvrSectionHandler; +private: + cFilterData filterData; + int handle[2]; // first handle will be returned by OpenFilter + +public: + cPvrSectionFilter(u_short Pid, u_char Tid, u_char Mask); + ~cPvrSectionFilter(void); + + void Close(void); + int GetHandle() const; +}; + +class cPvrSectionHandler { +private: + cList<cPvrSectionFilter> filters; + +public: + cPvrSectionHandler(); + ~cPvrSectionHandler(); + + int AddFilter(u_short Pid, u_char Tid, u_char Mask); + void RemoveFilter(int Handle); + void ProcessTSPacket(const u_char *Data); +}; + +#endif |