diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-11 11:42:51 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-11 11:42:51 +0200 |
| commit | 6b924837dedad17ea56ca37075e760828469abcb (patch) | |
| tree | c63b143707c6736fd21d0ec67ab6a3945d2c5057 /lib/dvb/pmt.cpp | |
| parent | d245191dd27ad9884c33ad3a76992dc6c4e8f33b (diff) | |
| download | enigma2-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.cpp | 10 |
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: |
