diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-07-02 09:27:18 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-07-02 09:27:18 +0000 |
| commit | a8310a1a7345577916560e789cdb8c1712e620a9 (patch) | |
| tree | e513e210bf51257962515ba9398226b885de5d57 /lib/dvb/esection.cpp | |
| parent | a33ff213255db7f59090f70235ec06c502e2a2ce (diff) | |
| download | enigma2-a8310a1a7345577916560e789cdb8c1712e620a9.tar.gz enigma2-a8310a1a7345577916560e789cdb8c1712e620a9.zip | |
add missing files, add ability to specify table_id mask and table_id ext mask
Diffstat (limited to 'lib/dvb/esection.cpp')
| -rw-r--r-- | lib/dvb/esection.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/dvb/esection.cpp b/lib/dvb/esection.cpp index a80168b5..78db9015 100644 --- a/lib/dvb/esection.cpp +++ b/lib/dvb/esection.cpp @@ -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] = mask.pid == 0x14 ? 0xFC : 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)) |
