vdr
1.7.27
|
#include <pat.h>
Public Member Functions | |
cPatFilter (void) | |
virtual void | SetStatus (bool On) |
void | Trigger (void) |
cPatFilter (void) | |
virtual void | SetStatus (bool On) |
void | Trigger (void) |
Protected Member Functions | |
virtual void | Process (u_short Pid, u_char Tid, const u_char *Data, int Length) |
virtual void | Process (u_short Pid, u_char Tid, const u_char *Data, int Length) |
Private Member Functions | |
bool | PmtVersionChanged (int PmtPid, int Sid, int Version) |
bool | PmtVersionChanged (int PmtPid, int Sid, int Version) |
Private Attributes | |
time_t | lastPmtScan |
int | pmtIndex |
int | pmtPid |
int | pmtSid |
uint64_t | pmtVersion [MAXPMTENTRIES] |
int | numPmtEntries |
Definition at line 18 of file include/vdr/pat.h.
cPatFilter::cPatFilter | ( | void | ) |
Definition at line 233 of file pat.c.
References lastPmtScan, numPmtEntries, pmtIndex, pmtPid, pmtSid, and cFilter::Set().
cPatFilter::cPatFilter | ( | void | ) |
bool cPatFilter::PmtVersionChanged | ( | int | PmtPid, |
int | Sid, | ||
int | Version | ||
) | [private] |
Definition at line 258 of file pat.c.
References MAXPMTENTRIES, numPmtEntries, and pmtVersion.
Referenced by Process().
bool cPatFilter::PmtVersionChanged | ( | int | PmtPid, |
int | Sid, | ||
int | Version | ||
) | [private] |
void cPatFilter::Process | ( | u_short | Pid, |
u_char | Tid, | ||
const u_char * | Data, | ||
int | Length | ||
) | [protected, virtual] |
Processes the data delivered to this filter.
Pid and Tid is one of the combinations added to this filter by a previous call to Add(), Data is a pointer to Length bytes of data. This function will be called from the section handler's thread, so it has to use proper locking mechanisms in case it accesses any global data. It is guaranteed that if several cFilters are attached to the same cSectionHandler, only one of them has its Process() function called at any given time. It is allowed that more than one cFilter are set up to receive the same Pid/Tid. The Process() function must return as soon as possible.
Implements cFilter.
Definition at line 276 of file pat.c.
References SI::AC3DescriptorTag, cFilter::Add(), cCaDescriptors::AddCaDescriptor(), cCaDescriptorHandler::AddCaDescriptors(), SI::PAT::associationLoop, SI::CaDescriptorTag, cCaDescriptors::CaIds(), cFilter::Channel(), Channels, SI::CRCSection::CheckCRCAndParse(), SI::PMT::commonDescriptors, cFilter::Del(), SI::EnhancedAC3DescriptorTag, SI::SubtitlingDescriptor::Subtitling::getAncillaryPageId(), cChannels::GetByServiceID(), SI::SubtitlingDescriptor::Subtitling::getCompositionPageId(), SI::Descriptor::getDescriptorTag(), SI::RegistrationDescriptor::getFormatIdentifier(), SI::StructureLoop< T >::getNext(), SI::DescriptorLoop::getNext(), SI::PMT::getPCRPid(), SI::PAT::Association::getPid(), SI::PMT::Stream::getPid(), SI::PAT::Association::getServiceId(), SI::PMT::getServiceId(), SI::PMT::Stream::getStreamType(), SI::SubtitlingDescriptor::Subtitling::getSubtitlingType(), SI::NumberedSection::getTableIdExtension(), SI::TeletextDescriptor::Teletext::getTeletextMagazineNumber(), SI::TeletextDescriptor::Teletext::getTeletextPageNumber(), SI::TeletextDescriptor::Teletext::getTeletextType(), SI::NumberedSection::getVersionNumber(), cVDRTtxtsubsHookListener::Hook(), I18nNormalizeLanguageCode(), cListObject::Index(), SI::PAT::Association::isNITPid(), SI::ISO639LanguageDescriptorTag, SI::TeletextDescriptor::Teletext::languageCode, SI::SubtitlingDescriptor::Subtitling::languageCode, SI::ISO639LanguageDescriptor::languageCode, SI::ISO639LanguageDescriptor::Language::languageCode, SI::ISO639LanguageDescriptor::languageLoop, lastPmtScan, cRwLock::Lock(), cVDRTtxtsubsHookListener::ManualPageNumber(), MAXAPIDS, MAXDPIDS, MAXLANGCODE1, MAXLANGCODE2, MAXSPIDS, MAXTXTPAGES, numPmtEntries, PMT_SCAN_TIMEOUT, pmtIndex, pmtPid, pmtSid, PmtVersionChanged(), SI::RegistrationDescriptorTag, cChannel::SetCaDescriptors(), cChannel::SetCaIds(), cChannel::SetPids(), cChannel::SetSubtitlingDescriptors(), cChannel::SetTeletextSubtitlePages(), Setup, cChannel::Sid(), cFilter::Source(), cChannel::Source(), SI::PMT::Stream::streamDescriptors, SI::PMT::streamLoop, strn0cpy(), SI::SubtitlingDescriptorTag, SI::SubtitlingDescriptor::subtitlingLoop, SI::TableIdPMT, SI::TeletextDescriptorTag, SI::TeletextDescriptor::teletextLoop, cFilter::Transponder(), cChannel::Transponder(), tTeletextSubtitlePage::ttxtMagazine, tTeletextSubtitlePage::ttxtPage, tTeletextSubtitlePage::ttxtType, cRwLock::Unlock(), and cSetup::UpdateChannels.
virtual void cPatFilter::Process | ( | u_short | Pid, |
u_char | Tid, | ||
const u_char * | Data, | ||
int | Length | ||
) | [protected, virtual] |
Processes the data delivered to this filter.
Pid and Tid is one of the combinations added to this filter by a previous call to Add(), Data is a pointer to Length bytes of data. This function will be called from the section handler's thread, so it has to use proper locking mechanisms in case it accesses any global data. It is guaranteed that if several cFilters are attached to the same cSectionHandler, only one of them has its Process() function called at any given time. It is allowed that more than one cFilter are set up to receive the same Pid/Tid. The Process() function must return as soon as possible.
Implements cFilter.
virtual void cPatFilter::SetStatus | ( | bool | On | ) | [virtual] |
Turns this filter on or off, depending on the value of On.
If the filter is turned off, any filter data that has been added without the Sticky parameter set to 'true' will be automatically deleted. Those parameters that have been added with Sticky set to 'true' will be automatically reused when SetStatus(true) is called.
Reimplemented from cFilter.
void cPatFilter::SetStatus | ( | bool | On | ) | [virtual] |
Turns this filter on or off, depending on the value of On.
If the filter is turned off, any filter data that has been added without the Sticky parameter set to 'true' will be automatically deleted. Those parameters that have been added with Sticky set to 'true' will be automatically reused when SetStatus(true) is called.
Reimplemented from cFilter.
Definition at line 243 of file pat.c.
References lastPmtScan, numPmtEntries, pmtIndex, pmtPid, and pmtSid.
void cPatFilter::Trigger | ( | void | ) |
Definition at line 253 of file pat.c.
References numPmtEntries.
Referenced by cSdtFilter::Process().
void cPatFilter::Trigger | ( | void | ) |
time_t cPatFilter::lastPmtScan [private] |
Definition at line 20 of file include/vdr/pat.h.
Referenced by cPatFilter(), Process(), and SetStatus().
int cPatFilter::numPmtEntries [private] |
Definition at line 25 of file include/vdr/pat.h.
Referenced by cPatFilter(), PmtVersionChanged(), Process(), SetStatus(), and Trigger().
int cPatFilter::pmtIndex [private] |
Definition at line 21 of file include/vdr/pat.h.
Referenced by cPatFilter(), Process(), and SetStatus().
int cPatFilter::pmtPid [private] |
Definition at line 22 of file include/vdr/pat.h.
Referenced by cPatFilter(), Process(), and SetStatus().
int cPatFilter::pmtSid [private] |
Definition at line 23 of file include/vdr/pat.h.
Referenced by cPatFilter(), Process(), and SetStatus().
uint64_t cPatFilter::pmtVersion [private] |
Definition at line 24 of file include/vdr/pat.h.
Referenced by PmtVersionChanged().