X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8c4f4f7e0f535267ddd6761fa148c9e0bd9c4dd4..f1ba8813bfe7a7ceedbf9175126264158ed85409:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 89301de4..fe9398cb 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1337,6 +1337,8 @@ int eDVBServicePlay::selectAudioStream(int i) } } + h.resetCachedProgram(); + return 0; } @@ -2022,7 +2024,6 @@ RESULT eDVBServicePlay::enableSubtitles(eWidget *parent, PyObject *entry) else { int pid = -page; - eDebug("start dvb subtitles on pid %04x", pid); m_subtitle_parser->start(pid); } @@ -2033,6 +2034,16 @@ RESULT eDVBServicePlay::disableSubtitles(eWidget *parent) { delete m_subtitle_widget; m_subtitle_widget = 0; + if (m_subtitle_parser) + { + m_subtitle_parser->stop(); + m_dvb_subtitle_pages.clear(); + } + if (m_teletext_parser) + { + m_teletext_parser->setPage(-1); + m_subtitle_pages.clear(); + } return 0; } @@ -2091,6 +2102,8 @@ void eDVBServicePlay::newSubtitlePage(const eDVBTeletextSubtitlePage &page) void eDVBServicePlay::checkSubtitleTiming() { // eDebug("checkSubtitleTiming"); + if (!m_subtitle_widget) + return; while (1) { enum { TELETEXT, DVB } type;