vdr 2.7.5
|
#include <filter.h>
Public Member Functions | |
cSectionSyncer (bool Random=false) | |
void | Reset (void) |
bool | Check (uchar Version, int SectionNumber) |
bool | Processed (int SectionNumber, int LastSectionNumber, int SegmentLastSectionNumber=-1) |
bool | Complete (void) |
Private Member Functions | |
void | SetSectionFlag (uchar Section, bool On) |
bool | GetSectionFlag (uchar Section) |
Private Attributes | |
int | currentVersion |
int | currentSection |
bool | random |
bool | synced |
bool | complete |
uint32_t | segments |
uchar | sections [32] |
cSectionSyncer::cSectionSyncer | ( | bool | Random = false | ) |
Sets up a new section syncer.
Call Check() to see whether a given section needs processing. Once the section has been processed, call Processed() to mark it as such. If, for any reason, processing is not completed after calling Check(), nothing special needs to be done. Just don't call Processed() and a later call to Check() with the same SectionNumber will return true again. If Random is true, sections can be processed in random order, not necessarily starting with section 0.
Definition at line 15 of file filter.c.
References random, and Reset().
Referenced by cSectionSyncerRandom::cSectionSyncerRandom().
bool cSectionSyncer::Check | ( | uchar | Version, |
int | SectionNumber ) |
Returns true if Version is not the current version, or the given SectionNumber has not been marked as processed, yet.
Sections are handled in ascending order, starting at 0, unless Random is true in the constructor call.
Definition at line 31 of file filter.c.
References complete, currentSection, currentVersion, GetSectionFlag(), random, Reset(), and synced.
|
inline |
|
inlineprivate |
bool cSectionSyncer::Processed | ( | int | SectionNumber, |
int | LastSectionNumber, | ||
int | SegmentLastSectionNumber = -1 ) |
Marks the given SectionNumber as processed.
LastSectionNumber is used to determine whether all sections have been processed. SegmentLastSectionNumber can be given to handle partially filled segments (like, for instance in the EIT). Returns true if all sections have been processed.
Definition at line 54 of file filter.c.
References complete, currentSection, random, sections, segments, and SetSectionFlag().
void cSectionSyncer::Reset | ( | void | ) |
Definition at line 21 of file filter.c.
References complete, currentSection, currentVersion, sections, segments, and synced.
Referenced by Check(), and cSectionSyncer().
|
inlineprivate |
|
private |
Definition at line 22 of file filter.h.
Referenced by Check(), Complete(), Processed(), and Reset().
|
private |
Definition at line 19 of file filter.h.
Referenced by Check(), Processed(), and Reset().
|
private |
|
private |
Definition at line 20 of file filter.h.
Referenced by Check(), cSectionSyncer(), and Processed().
|
private |
Definition at line 24 of file filter.h.
Referenced by GetSectionFlag(), Processed(), Reset(), and SetSectionFlag().
|
private |
Definition at line 23 of file filter.h.
Referenced by Processed(), and Reset().
|
private |