X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/894e18128f153afdf0b6ab1785a98b32efa6d798..34d336d2c8e99b15045cd1ef7d40cbee4c0f18bb:/lib/dvb/teletext.cpp diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index 7cef7b28..40936d4a 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -482,6 +482,7 @@ void eDVBTeletextParser::handlePageStart() m_subtitle_page.clear(); m_modifications.clear(); m_X28_0_valid = 0; + m_new_subtitle_page(m_subtitle_page); // eDebug("erase page!"); } // else @@ -521,13 +522,13 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) if (m_X28_0_valid) { - nat_subset = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0xF]; + nat_subset = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0x7F]; nat_subset_2 = NationalOptionSubsetsLookup[((m_X28_t1 >> 14) & 0xF) | ((m_X28_t2 & 7) << 4)]; // eDebug("X/28/0 nat_subset %d, nat_subset2 %d", nat_subset, nat_subset_2); } else if (m_M29_0_valid) { - nat_subset = NationalOptionSubsetsLookup[(m_M29_t1 >> 7) & 0xF]; + nat_subset = NationalOptionSubsetsLookup[(m_M29_t1 >> 7) & 0x7F]; nat_subset_2 = NationalOptionSubsetsLookup[((m_M29_t1 >> 14) & 0xF) | ((m_M29_t2 & 7) << 4)]; // eDebug("M/29/0 nat_subset %d, nat_subset2 %d", nat_subset, nat_subset_2); }