Go to the documentation of this file.
41 if (SectionNumber == 0) {
59 int Index = SectionNumber / 8;
61 if (SegmentLastSectionNumber < 0 && Index == LastSectionNumber / 8)
62 SegmentLastSectionNumber = LastSectionNumber;
63 if (SegmentLastSectionNumber >= 0) {
64 b >>= 7 - (SegmentLastSectionNumber & 0x07);
65 if (!
random && SectionNumber == SegmentLastSectionNumber)
70 uint32_t s = 0xFFFFFFFF;
71 s >>= 31 - (LastSectionNumber / 8);
76 #if DEPRECATED_SECTIONSYNCER_SYNC_REPEAT
99 if (Number == LastNumber)
134 return pid == Pid &&
tid == Tid &&
mask == Mask;
204 if (fd->Matches(Pid, Tid))
213 Add(Pid, Tid, Mask,
true);
227 if (fd->Is(Pid, Tid, Mask)) {
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
void Add(const cFilterData *FilterData)
int Transponder(void)
Returns the transponder of the data delivered to this filter.
void Set(u_short Pid, u_char Tid, u_char Mask=0xFF)
Sets the given filter data by calling Add() with Sticky = true.
bool GetSectionFlag(uchar Section)
bool Matches(u_short Pid, u_char Tid)
const cChannel * Channel(void)
cFilterData & operator=(const cFilterData &FilterData)
void Add(cListObject *Object, cListObject *After=NULL)
void Del(u_short Pid, u_char Tid, u_char Mask=0xFF)
Deletes the given filter data from this filter.
cSectionSyncer(bool Random=false)
Sets up a new section syncer.
void Detach(cFilter *Filter)
void Del(cListObject *Object, bool DeleteObject=true)
void Del(const cFilterData *FilterData)
const cChannel * Channel(void)
Returns the channel of the data delivered to this filter.
bool Processed(int SectionNumber, int LastSectionNumber, int SegmentLastSectionNumber=-1)
Marks the given SectionNumber as processed.
void SetSectionFlag(uchar Section, bool On)
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
void Add(u_short Pid, u_char Tid, u_char Mask=0xFF, bool Sticky=false)
Adds the given filter data to this filter.
bool Sync(uchar Version, int Number, int LastNumber)
bool Check(uchar Version, int SectionNumber)
Returns true if Version is not the current version, or the given SectionNumber has not been marked as...
bool Is(u_short Pid, u_char Tid, u_char Mask)
const T * Next(const T *Object) const
< Returns the element immediately before Object in this list, or NULL if Object is the first element ...
int Source(void)
Returns the source of the data delivered to this filter.
cSectionHandler * sectionHandler
bool Matches(u_short Pid, u_char Tid)
Indicates whether this filter wants to receive data from the given Pid/Tid.
cList< cFilterData > data