aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pmt.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-05-11 11:42:51 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-05-11 11:42:51 +0200
commit6b924837dedad17ea56ca37075e760828469abcb (patch)
treec63b143707c6736fd21d0ec67ab6a3945d2c5057 /lib/dvb/pmt.cpp
parentd245191dd27ad9884c33ad3a76992dc6c4e8f33b (diff)
downloadenigma2-6b924837dedad17ea56ca37075e760828469abcb.tar.gz
enigma2-6b924837dedad17ea56ca37075e760828469abcb.zip
show both language codes / languages when two language codes are transmitted for one single pid
Diffstat (limited to 'lib/dvb/pmt.cpp')
-rw-r--r--lib/dvb/pmt.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index 0198c8f7..da45c8eb 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -399,10 +399,16 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
case ISO_639_LANGUAGE_DESCRIPTOR:
if (!isvideo)
{
+ int cnt=0;
const Iso639LanguageList *languages = ((Iso639LanguageDescriptor*)*desc)->getIso639Languages();
/* use last language code */
- for (Iso639LanguageConstIterator i(languages->begin()); i != languages->end(); ++i)
- audio.language_code = (*i)->getIso639LanguageCode();
+ for (Iso639LanguageConstIterator i(languages->begin()); i != languages->end(); ++i, ++cnt)
+ {
+ if (cnt == 0)
+ audio.language_code = (*i)->getIso639LanguageCode();
+ else
+ audio.language_code += "/" + (*i)->getIso639LanguageCode();
+ }
}
break;
case STREAM_IDENTIFIER_DESCRIPTOR: