summaryrefslogtreecommitdiff
path: root/sdt.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2020-05-04 08:50:20 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2020-05-04 08:50:20 +0200
commit5705ffbd2ba1cd6644e7bc7b10686963d3d8ef9f (patch)
tree0ca2f43b1c5d9e2674e364bd01ba8cdd30dbac74 /sdt.h
parent6e0f5287ea4df66847f97489f00f2c8214bad605 (diff)
downloadvdr-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.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sdt.h b/sdt.h
index 01653f45..128b51ad 100644
--- a/sdt.h
+++ b/sdt.h
@@ -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