- int tsid = (*i)->getTableIdExtension(); // in PAT this is the transport stream id
- if (m_SDT->start(m_demux, eDVBSDTSpec(tsid, true)))
+ tsid = (*i)->getTableIdExtension(); // in PAT this is the transport stream id
+
+ // KabelBW HACK ... on 618Mhz and 626Mhz the transport stream id in PAT and SDT is different
+ {
+ int type;
+ m_ch_current->getSystem(type);
+ if (type == iDVBFrontend::feCable)
+ {
+ eDVBFrontendParametersCable parm;
+ m_ch_current->getDVBC(parm);
+ if ((tsid == 0x00d7 && abs(parm.frequency-618000) < 2000) ||
+ (tsid == 0x00d8 && abs(parm.frequency-626000) < 2000))
+ tsid = -1;
+ }
+ }
+ }
+ if (tsid == -1)
+ {
+ if (m_SDT->start(m_demux, eDVBSDTSpec()))