1 #ifndef __lib_dvb_specs_h
2 #define __lib_dvb_specs_h
4 #include <lib/dvb/idvb.h>
5 #include <lib/dvb/idemux.h>
6 #include <dvbsi++/program_map_section.h>
7 #include <dvbsi++/service_description_section.h>
8 #include <dvbsi++/network_information_section.h>
9 #include <dvbsi++/bouquet_association_section.h>
10 #include <dvbsi++/program_association_section.h>
11 #include <dvbsi++/event_information_section.h>
17 eDVBPMTSpec(int pid, int sid)
20 m_spec.tid = ProgramMapSection::TID;
22 m_spec.timeout = 20000; // ProgramMapSection::TIMEOUT;
23 m_spec.flags = eDVBTableSpec::tfAnyVersion |
24 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt |
25 eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout;
27 operator eDVBTableSpec &()
39 m_spec.pid = ServiceDescriptionSection::PID;
40 m_spec.tid = ServiceDescriptionSection::TID;
41 m_spec.timeout = 20000; // ServiceDescriptionSection::TIMEOUT;
42 m_spec.flags = eDVBTableSpec::tfAnyVersion |
43 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
44 eDVBTableSpec::tfHaveTimeout;
46 eDVBSDTSpec(int tsid, bool other=false)
48 m_spec.pid = ServiceDescriptionSection::PID;
49 m_spec.tid = ServiceDescriptionSection::TID;
51 m_spec.timeout = 20000; // ServiceDescriptionSection::TIMEOUT;
52 m_spec.flags = eDVBTableSpec::tfAnyVersion |
53 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
54 eDVBTableSpec::tfHaveTIDExt | eDVBTableSpec::tfHaveTimeout;
57 // SDT other transport stream have TID 0x46 (current is 0x42)
58 // so we mask out the third bit in table id mask..
59 m_spec.flags |= eDVBTableSpec::tfHaveTIDMask;
60 m_spec.tid_mask = 0xFB;
63 operator eDVBTableSpec &()
75 m_spec.pid = NetworkInformationSection::PID;
76 m_spec.tid = NetworkInformationSection::TID;
77 m_spec.timeout = NetworkInformationSection::TIMEOUT;
78 m_spec.flags = eDVBTableSpec::tfAnyVersion |
79 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
80 eDVBTableSpec::tfHaveTimeout;
82 operator eDVBTableSpec &()
94 m_spec.pid = BouquetAssociationSection::PID;
95 m_spec.tid = BouquetAssociationSection::TID;
96 m_spec.timeout = BouquetAssociationSection::TIMEOUT;
97 m_spec.flags = eDVBTableSpec::tfAnyVersion |
98 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
99 eDVBTableSpec::tfHaveTimeout;
101 operator eDVBTableSpec &()
109 eDVBTableSpec m_spec;
113 m_spec.pid = ProgramAssociationSection::PID;
114 m_spec.tid = ProgramAssociationSection::TID;
115 m_spec.timeout = 20000; // ProgramAssociationSection::TIMEOUT;
116 m_spec.flags = eDVBTableSpec::tfAnyVersion |
117 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
118 eDVBTableSpec::tfHaveTimeout;
120 operator eDVBTableSpec &()
128 eDVBTableSpec m_spec;
130 /* this is for now&next on actual transponder. */
133 m_spec.pid = EventInformationSection::PID;
134 m_spec.tid = EventInformationSection::TID;
136 m_spec.timeout = EventInformationSection::TIMEOUT;
137 m_spec.flags = eDVBTableSpec::tfAnyVersion |
138 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt |
139 eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout;
141 operator eDVBTableSpec &()
147 class eDVBEITSpecOther
149 eDVBTableSpec m_spec;
151 /* this is for now&next on actual transponder. */
152 eDVBEITSpecOther(int sid)
154 m_spec.pid = EventInformationSection::PID;
155 m_spec.tid = TID_EIT_OTHER;
157 m_spec.timeout = EventInformationSection::TIMEOUT;
158 m_spec.flags = eDVBTableSpec::tfAnyVersion |
159 eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt |
160 eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout;
162 operator eDVBTableSpec &()