if ((serial_mode || M == m_page_M) && m_page_open)
{
eDebug("Page End %d %lld", !have_pts, pts);
- handlePageEnd(have_pts, pts);
+ handlePageEnd(!have_pts, pts);
m_page_open = 0;
}
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);
}
void eDVBTeletextParser::sendSubtitlePage()
{
// eDebug("subtitle page:");
- bool empty=true;
- if (empty)
- for (unsigned int i = 0; i < m_subtitle_page.m_elements.size(); ++i)
- if (!m_subtitle_page.m_elements[i].m_text.empty())
- empty=false;
- if (!empty)
+ bool send=m_C & (1<<4);
+ for (unsigned int i = 0; i < m_subtitle_page.m_elements.size(); ++i)
+ if (!m_subtitle_page.m_elements[i].m_text.empty())
+ send=true;
+ if (send)
m_new_subtitle_page(m_subtitle_page);
}