vdr
2.7.6
sdt.h
Go to the documentation of this file.
1
/*
2
* sdt.h: SDT section filter
3
*
4
* See the main source file 'vdr.c' for copyright information and
5
* how to reach the author.
6
*
7
* $Id: sdt.h 5.1 2025/03/02 11:03:35 kls Exp $
8
*/
9
10
#ifndef __SDT_H
11
#define __SDT_H
12
13
#include "
filter.h
"
14
#include "
pat.h
"
15
16
class
cSdtFilter
:
public
cFilter
{
17
private
:
18
enum
eTransponderState
{
tsUnknown
,
tsWrong
,
tsAccepted
,
tsVerified
};
19
cMutex
mutex
;
20
cSectionSyncer
sectionSyncer
;
21
int
source
;
22
int
lastSource
;
23
int
lastTransponder
;
24
int
lastNid
;
25
int
lastTid
;
26
cPatFilter
*
patFilter
;
27
enum
eTransponderState
transponderState
;
28
protected
:
29
virtual
void
Process
(u_short Pid,
u_char
Tid,
const
u_char
*Data,
int
Length)
override
;
30
public
:
31
cSdtFilter
(
cPatFilter
*PatFilter);
32
virtual
void
SetStatus
(
bool
On)
override
;
33
void
Trigger
(
int
Source
);
34
bool
TransponderVerified
(
void
)
const
{
return
transponderState
==
tsVerified
; }
// returns true if the expected NIT/TID have been received in the SDT
35
bool
TransponderWrong
(
void
)
const
{
return
transponderState
==
tsWrong
; }
// returns true if an expected change of NIT/TID has not happened
36
};
37
38
#endif
//__SDT_H
cFilter
Definition:
filter.h:74
cFilter::Source
int Source(void)
Returns the source of the data delivered to this filter.
Definition:
filter.c:134
cMutex
Definition:
thread.h:67
cPatFilter
Definition:
pat.h:21
cSdtFilter
Definition:
sdt.h:16
cSdtFilter::SetStatus
virtual void SetStatus(bool On) override
Turns this filter on or off, depending on the value of On.
Definition:
sdt.c:35
cSdtFilter::TransponderVerified
bool TransponderVerified(void) const
Definition:
sdt.h:34
cSdtFilter::mutex
cMutex mutex
Definition:
sdt.h:19
cSdtFilter::Process
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length) override
Processes the data delivered to this filter.
Definition:
sdt.c:51
cSdtFilter::Trigger
void Trigger(int Source)
Definition:
sdt.c:45
cSdtFilter::patFilter
cPatFilter * patFilter
Definition:
sdt.h:26
cSdtFilter::eTransponderState
eTransponderState
Definition:
sdt.h:18
cSdtFilter::tsVerified
@ tsVerified
Definition:
sdt.h:18
cSdtFilter::tsUnknown
@ tsUnknown
Definition:
sdt.h:18
cSdtFilter::tsAccepted
@ tsAccepted
Definition:
sdt.h:18
cSdtFilter::tsWrong
@ tsWrong
Definition:
sdt.h:18
cSdtFilter::cSdtFilter
cSdtFilter(cPatFilter *PatFilter)
Definition:
sdt.c:23
cSdtFilter::TransponderWrong
bool TransponderWrong(void) const
Definition:
sdt.h:35
cSdtFilter::transponderState
enum eTransponderState transponderState
Definition:
sdt.h:27
cSdtFilter::source
int source
Definition:
sdt.h:21
cSdtFilter::lastTransponder
int lastTransponder
Definition:
sdt.h:23
cSdtFilter::sectionSyncer
cSectionSyncer sectionSyncer
Definition:
sdt.h:20
cSdtFilter::lastSource
int lastSource
Definition:
sdt.h:22
cSdtFilter::lastNid
int lastNid
Definition:
sdt.h:24
cSdtFilter::lastTid
int lastTid
Definition:
sdt.h:25
cSectionSyncer
Definition:
filter.h:16
filter.h
SI::u_char
unsigned char u_char
Definition:
headers.h:24
pat.h
Generated by
1.9.1