aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/esection.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-07-02 09:27:18 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-07-02 09:27:18 +0000
commita8310a1a7345577916560e789cdb8c1712e620a9 (patch)
treee513e210bf51257962515ba9398226b885de5d57 /lib/dvb/esection.cpp
parenta33ff213255db7f59090f70235ec06c502e2a2ce (diff)
downloadenigma2-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.cpp19
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))