From ccf6e0f9c6b0481ed13e0f4794e3fbead750f385 Mon Sep 17 00:00:00 2001 From: Lars Heer Date: Wed, 18 Sep 2013 05:50:03 +0200 Subject: added vdr-plugin-mcli-0.0.1+svn20120927 --- filter.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 filter.h (limited to 'filter.h') diff --git a/filter.h b/filter.h new file mode 100644 index 0000000..d42bc18 --- /dev/null +++ b/filter.h @@ -0,0 +1,56 @@ +/* + * (c) BayCom GmbH, http://www.baycom.de, info@baycom.de + * + * See the COPYING file for copyright information and + * how to reach the author. + * + */ + +#ifndef VDR_STREAMDEV_FILTER_H +#define VDR_STREAMDEV_FILTER_H + +#include +#include +#include +#include "packetbuffer.h" + +class cMcliFilter; +class cMcliPid; + +class cMcliPidList:public cList < cMcliPid > +{ + public: + cMcliPidList (void) + { + }; + ~cMcliPidList () { + }; + int GetTidFromPid (int pid); + void SetPid (int Pid, int Tid); +}; + +class cMcliFilters:public cList < cMcliFilter >, public cThread +{ + private: + cMyPacketBuffer * m_PB; + cMcliPidList m_pl; + bool m_closed; + + protected: + virtual void Action (void); + void GarbageCollect (void); + void ProcessChunk(u_short pid, const uchar *block, int len, bool Pusi); + + public: + cMcliFilters (void); + virtual ~ cMcliFilters (); + bool WantPid (int pid); + int GetTidFromPid (int pid); + int GetPid (int Handle); + cMcliFilter *GetFilter (int Handle); + int PutTS (const uchar * data, int len); + int OpenFilter (u_short Pid, u_char Tid, u_char Mask); + int CloseFilter (int Handle); +}; + +#endif // VDR_STREAMDEV_FILTER_H -- cgit v1.2.3