diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-07-13 13:31:19 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-07-13 13:31:19 +0000 |
| commit | 721b76b816200cd68a187a839062e50b0eca1303 (patch) | |
| tree | 075cf1fb21a19251e848a403448108a2086de3b2 /lib/service/servicedvb.cpp | |
| parent | 78b842123dc6330107add568a826f161388d5f51 (diff) | |
| download | enigma2-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.cpp | 15 |
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) { |
