aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-23 20:12:00 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-10-23 20:12:00 +0000
commitad5b517b4648c91ec34936ac5eba7cde4c34bb31 (patch)
treef0466649d5b63f5bfebdceedc8efc7378842d6e3 /lib/service/servicedvb.cpp
parent92456d9542585d58e011fa4f0b501de3ef9c1819 (diff)
downloadenigma2-ad5b517b4648c91ec34936ac5eba7cde4c34bb31.tar.gz
enigma2-ad5b517b4648c91ec34936ac5eba7cde4c34bb31.zip
more work on dvb subtitles (not finished/working yet)
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 b63420ae..9da276e5 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -1640,9 +1640,11 @@ void eDVBServicePlay::switchToLive()
m_decode_demux = 0;
m_teletext_parser = 0;
m_radiotext_parser = 0;
+ m_subtitle_parser = 0;
+ m_new_dvb_subtitle_region_connection = 0;
m_new_subtitle_page_connection = 0;
m_radiotext_updated_connection = 0;
-
+
/* free the timeshift service handler, we need the resources */
m_service_handler_timeshift.free();
m_timeshift_active = 0;
@@ -1661,7 +1663,9 @@ void eDVBServicePlay::switchToTimeshift()
m_decoder = 0;
m_teletext_parser = 0;
m_radiotext_parser = 0;
+ m_subtitle_parser = 0;
m_new_subtitle_page_connection = 0;
+ m_new_dvb_subtitle_region_connection = 0;
m_radiotext_updated_connection = 0;
m_timeshift_active = 1;
@@ -1751,6 +1755,8 @@ void eDVBServicePlay::updateDecoder()
m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
#endif
+ m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
+ m_subtitle_parser->connectNewRegion(slot(*this, &eDVBServicePlay::newDVBSubtitleRegion), m_new_dvb_subtitle_region_connection);
}
if (m_decoder)
@@ -1813,6 +1819,9 @@ void eDVBServicePlay::updateDecoder()
if (m_teletext_parser)
m_teletext_parser->start(tpid);
+ if (m_subtitle_parser && program.subtitleStreams.size() > 0)
+ m_subtitle_parser->start(program.subtitleStreams[0].pid);
+
if (!m_is_primary)
m_decoder->setTrickmode(1);
@@ -2077,10 +2086,12 @@ void eDVBServicePlay::checkSubtitleTiming()
void eDVBServicePlay::newDVBSubtitleRegion(const eDVBSubtitleRegion &p)
{
+ eDebug("new dvb subtitle region");
}
void eDVBServicePlay::checkDvbSubtitleTiming()
{
+ eDebug("check dvb subtitle timing");
}
int eDVBServicePlay::getAC3Delay()