mirror of
https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
synced 2023-10-10 19:16:51 +02:00
6dd3cc412e
- Run section filter carbage collector when adding new filter. Carbage collector closes all filters that have already been closed by local VDR section handler. (without this, closed section filters are removed only when they receive data from server. If they wont, ...). - Add locking to list handling (list is accessed from separate threads) Modified Files: client/filter.c client/filter.h
39 lines
783 B
C++
39 lines
783 B
C++
/*
|
|
* $Id: filter.h,v 1.3 2007/04/23 12:52:28 schmirl Exp $
|
|
*/
|
|
|
|
#ifndef VDR_STREAMDEV_FILTER_H
|
|
#define VDR_STREAMDEV_FILTER_H
|
|
|
|
#include <vdr/config.h>
|
|
|
|
# if VDRVERSNUM >= 10300
|
|
|
|
#include <vdr/tools.h>
|
|
#include <vdr/thread.h>
|
|
|
|
class cRingBufferLinear;
|
|
class cTSBuffer;
|
|
class cStreamdevFilter;
|
|
|
|
class cStreamdevFilters: public cList<cStreamdevFilter>, public cThread {
|
|
private:
|
|
bool m_Active;
|
|
cRingBufferLinear *m_RingBuffer;
|
|
|
|
protected:
|
|
virtual void Action(void);
|
|
void CarbageCollect(void);
|
|
|
|
public:
|
|
cStreamdevFilters(void);
|
|
virtual ~cStreamdevFilters();
|
|
|
|
int OpenFilter(u_short Pid, u_char Tid, u_char Mask);
|
|
cStreamdevFilter *Matches(u_short Pid, u_char Tid);
|
|
void Put(const uchar *Data);
|
|
};
|
|
|
|
# endif // VDRVERSNUM >= 10300
|
|
#endif // VDR_STREAMDEV_FILTER_H
|