From: ghost Date: Mon, 11 May 2009 09:42:51 +0000 (+0200) Subject: show both language codes / languages when two language codes are transmitted for... X-Git-Tag: 2.6.0~317^2~6 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/6b924837dedad17ea56ca37075e760828469abcb show both language codes / languages when two language codes are transmitted for one single pid --- 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: diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index c1618184..9adaa6db 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -1631,12 +1631,20 @@ class InfoBarAudioSelection: idx = 0 while idx < n: + cnt = 0 i = audio.getTrackInfo(idx) - language = i.getLanguage() + languages = i.getLanguage().split('/') description = i.getDescription() + language = "" - if LanguageCodes.has_key(language): - language = LanguageCodes[language][0] + for lang in languages: + if cnt: + language += ' / ' + if LanguageCodes.has_key(lang): + language += LanguageCodes[lang][0] + else: + language += lang + cnt += 1 if len(description): description += " (" + language + ")"