aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-07-13 13:31:19 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-07-13 13:31:19 +0000
commit721b76b816200cd68a187a839062e50b0eca1303 (patch)
tree075cf1fb21a19251e848a403448108a2086de3b2 /lib/service/servicedvb.cpp
parent78b842123dc6330107add568a826f161388d5f51 (diff)
downloadenigma2-721b76b816200cd68a187a839062e50b0eca1303.tar.gz
enigma2-721b76b816200cd68a187a839062e50b0eca1303.zip
don't crash when no decode_demux present
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 613dc9be..7f931334 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -2277,13 +2277,18 @@ void eDVBServicePlay::updateDecoder()
m_decode_demux->getMPEGDecoder(m_decoder, m_is_primary);
if (m_decoder)
m_decoder->connectVideoEvent(slot(*this, &eDVBServicePlay::video_event), m_video_event_connection);
+ m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
+ m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
+ m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
+ m_subtitle_parser->connectNewPage(slot(*this, &eDVBServicePlay::newDVBSubtitlePage), m_new_dvb_subtitle_page_connection);
+ } else
+ {
+ m_teletext_parser = 0;
+ m_subtitle_parser = 0;
}
+
if (m_cue)
m_cue->setDecodingDemux(m_decode_demux, m_decoder);
- m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
- m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
- m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
- m_subtitle_parser->connectNewPage(slot(*this, &eDVBServicePlay::newDVBSubtitlePage), m_new_dvb_subtitle_page_connection);
}
if (m_decoder)
@@ -2367,7 +2372,7 @@ void eDVBServicePlay::updateDecoder()
// how we can do this better?
// update cache pid when the user changed the audio track or video track
// TODO handling of difference audio types.. default audio types..
-
+
/* don't worry about non-existing services, nor pvr services */
if (m_dvb_service && !m_is_pvr)
{