}
eGTable::eGTable():
- ref(0), m_timeout(0), error(0)
+ m_timeout(0), error(0)
{
}
if (m_table.flags & eDVBTableSpec::tfHaveTID)
{
mask.data[0] = m_table.tid;
- mask.mask[0] = 0xFF;
+ if (m_table.flags & eDVBTableSpec::tfHaveTIDMask)
+ mask.mask[0] = m_table.tid_mask;
+ else
+ mask.mask[0] = 0xFF;
}
-
+
if (m_table.flags & eDVBTableSpec::tfHaveTIDExt)
{
mask.data[1] = m_table.tidext >> 8;
mask.data[2] = m_table.tidext;
- mask.mask[1] = 0xFF;
- mask.mask[2] = 0xFF;
+ if (m_table.flags & eDVBTableSpec::tfHaveTIDExtMask)
+ {
+ mask.mask[1] = m_table.tidext_mask >> 8;
+ mask.mask[2] = m_table.tidext_mask;
+ }
+ else
+ {
+ mask.mask[1] = 0xFF;
+ mask.mask[2] = 0xFF;
+ }
}
if (!(m_table.flags & eDVBTableSpec::tfAnyVersion))
if (m_table.flags & eDVBTableSpec::tfHaveTimeout)
{
- eDebug("have timeout, %d", m_table.timeout);
if (m_timeout)
delete m_timeout;
m_timeout = new eTimer(eApp);