Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
authorFraxinas <andreas.frisch@multimedia-labs.de>
Mon, 11 May 2009 11:10:34 +0000 (13:10 +0200)
committerFraxinas <andreas.frisch@multimedia-labs.de>
Mon, 11 May 2009 11:10:34 +0000 (13:10 +0200)
lib/dvb/pmt.cpp
lib/python/Screens/InfoBarGenerics.py

index 0198c8f..da45c8e 100644 (file)
@@ -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:
index c161818..9adaa6d 100644 (file)
@@ -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 + ")"