X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..cae001777c7b32bdb4f6f4199e9f49058946fe9f:/lib/dvb/esection.cpp diff --git a/lib/dvb/esection.cpp b/lib/dvb/esection.cpp index 08cb49be..78db9015 100644 --- a/lib/dvb/esection.cpp +++ b/lib/dvb/esection.cpp @@ -30,7 +30,7 @@ void eGTable::timeout() } eGTable::eGTable(): - ref(0), m_timeout(0), error(0) + m_timeout(0), error(0) { } @@ -57,15 +57,26 @@ RESULT eGTable::start(iDVBSectionReader *reader, const eDVBTableSpec &table) 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)) @@ -97,7 +108,6 @@ RESULT eGTable::start(iDVBSectionReader *reader, const eDVBTableSpec &table) if (m_table.flags & eDVBTableSpec::tfHaveTimeout) { - eDebug("have timeout, %d", m_table.timeout); if (m_timeout) delete m_timeout; m_timeout = new eTimer(eApp);