diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2020-05-04 08:50:20 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2020-05-04 08:50:20 +0200 |
commit | 5705ffbd2ba1cd6644e7bc7b10686963d3d8ef9f (patch) | |
tree | 0ca2f43b1c5d9e2674e364bd01ba8cdd30dbac74 /sdt.h | |
parent | 6e0f5287ea4df66847f97489f00f2c8214bad605 (diff) | |
download | vdr-5705ffbd2ba1cd6644e7bc7b10686963d3d8ef9f.tar.gz vdr-5705ffbd2ba1cd6644e7bc7b10686963d3d8ef9f.tar.bz2 |
Now retuning if the received transponder's SDT doesn't contain the expected values for NID and TID
Diffstat (limited to 'sdt.h')
-rw-r--r-- | sdt.h | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: sdt.h 3.1 2014/03/10 14:40:54 kls Exp $ + * $Id: sdt.h 4.1 2020/05/04 08:50:20 kls Exp $ */ #ifndef __SDT_H @@ -15,16 +15,24 @@ class cSdtFilter : public cFilter { private: + enum eTransponderState { tsUnknown, tsWrong, tsAccepted, tsVerified }; cMutex mutex; cSectionSyncer sectionSyncer; int source; + int lastSource; + int lastTransponder; + int lastNid; + int lastTid; cPatFilter *patFilter; + enum eTransponderState transponderState; protected: virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length); public: cSdtFilter(cPatFilter *PatFilter); virtual void SetStatus(bool On); void Trigger(int Source); + bool TransponderVerified(void) const { return transponderState == tsVerified; } // returns true if the expected NIT/TID have been received in the SDT + bool TransponderWrong(void) const { return transponderState == tsWrong; } // returns true if an expected change of NIT/TID has not happened }; #endif //__SDT_H |