aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pmt.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-21 16:15:40 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-21 16:15:40 +0000
commit4053f8453d48e7552227611fa7ca1d264bcd4311 (patch)
treebe52d4ced408e2265aeb9b3b1dd3abd134228f62 /lib/dvb/pmt.cpp
parent0cfa2e76e477e6e0abf46c97640a2e38a2fc308d (diff)
downloadenigma2-4053f8453d48e7552227611fa7ca1d264bcd4311.tar.gz
enigma2-4053f8453d48e7552227611fa7ca1d264bcd4311.zip
also show dvb subtitles with wrong coded subtitling type in pmt
Diffstat (limited to 'lib/dvb/pmt.cpp')
-rw-r--r--lib/dvb/pmt.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index 940d2e7d..39a2c3d7 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -251,11 +251,22 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
for (SubtitlingConstIterator it(list->begin()); it != list->end(); ++it)
{
s.subtitling_type = (*it)->getSubtitlingType();
+ switch(s.subtitling_type)
+ {
+ case 0x10 ... 0x13:
+ case 0x20 ... 0x23: // dvb subtitles
+ break;
+ default:
+ eDebug("dvb subtitle %s PID %04x with wrong subtitling type (%02x)... force 0x10!!",
+ s.language_code.c_str(), s.pid, s.subtitling_type);
+ s.subtitling_type = 0x10;
+ break;
+ }
s.composition_page_id = (*it)->getCompositionPageId();
s.ancillary_page_id = (*it)->getAncillaryPageId();
s.language_code = (*it)->getIso639LanguageCode();
- // eDebug("add dvb subtitle %s PID %04x, type %d, composition page %d, ancillary_page %d",
- // s.language_code.c_str(), s.pid, s.subtitling_type, s.composition_page_id, s.ancillary_page_id);
+// eDebug("add dvb subtitle %s PID %04x, type %d, composition page %d, ancillary_page %d",
+// s.language_code.c_str(), s.pid, s.subtitling_type, s.composition_page_id, s.ancillary_page_id);
program.subtitleStreams.push_back(s);
}
break;