aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-25 21:58:42 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-25 21:58:42 +0000
commit7a55b56227014d8e6cff6773946d19219b4599f8 (patch)
treedcf48c76bfc84fa811bcd201b6922304f4fd7138 /lib/service/servicedvb.cpp
parenta274f72e1fcbe404d1e68c605f21453123287fbd (diff)
downloadenigma2-7a55b56227014d8e6cff6773946d19219b4599f8.tar.gz
enigma2-7a55b56227014d8e6cff6773946d19219b4599f8.zip
fix 'start'/'stop'/'select other' subtitles
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 89301de4..2ea7acf1 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -2022,7 +2022,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 +2032,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 +2100,8 @@ void eDVBServicePlay::newSubtitlePage(const eDVBTeletextSubtitlePage &page)
void eDVBServicePlay::checkSubtitleTiming()
{
// eDebug("checkSubtitleTiming");
+ if (!m_subtitle_widget)
+ return;
while (1)
{
enum { TELETEXT, DVB } type;