Added ISO639-2 decoding in JSON-formatted metadata output

This commit is contained in:
Thulinma 2016-07-25 13:24:25 +02:00
parent 4cef8d7cf5
commit bfa9882e8c
4 changed files with 538 additions and 0 deletions

View file

@ -106,6 +106,7 @@ set(libHeaders
${SOURCE_DIR}/lib/h264.h
${SOURCE_DIR}/lib/http_parser.h
${SOURCE_DIR}/lib/json.h
${SOURCE_DIR}/lib/langcodes.h
${SOURCE_DIR}/lib/mp4_adobe.h
${SOURCE_DIR}/lib/mp4_generic.h
${SOURCE_DIR}/lib/mp4.h
@ -141,6 +142,7 @@ set(libSources
${SOURCE_DIR}/lib/h264.cpp
${SOURCE_DIR}/lib/http_parser.cpp
${SOURCE_DIR}/lib/json.cpp
${SOURCE_DIR}/lib/langcodes.cpp
${SOURCE_DIR}/lib/mp4_adobe.cpp
${SOURCE_DIR}/lib/mp4.cpp
${SOURCE_DIR}/lib/mp4_generic.cpp

520
lib/langcodes.cpp Normal file
View file

@ -0,0 +1,520 @@
#include "langcodes.h"
namespace Encodings {
std::string ISO639::decode(const std::string & lang){
if (lang=="aar"){return "Afar";}
if (lang=="abk"){return "Abkhazian";}
if (lang=="ace"){return "Achinese";}
if (lang=="ach"){return "Acoli";}
if (lang=="ada"){return "Adangme";}
if (lang=="ady"){return "Adyghe; Adygei";}
if (lang=="afa"){return "Afro-Asiatic languages";}
if (lang=="afh"){return "Afrihili";}
if (lang=="afr"){return "Afrikaans";}
if (lang=="ain"){return "Ainu";}
if (lang=="aka"){return "Akan";}
if (lang=="akk"){return "Akkadian";}
if (lang=="alb"){return "Albanian";}
if (lang=="ale"){return "Aleut";}
if (lang=="alg"){return "Algonquian languages";}
if (lang=="alt"){return "Southern Altai";}
if (lang=="amh"){return "Amharic";}
if (lang=="ang"){return "English, Old (ca.450-1100)";}
if (lang=="anp"){return "Angika";}
if (lang=="apa"){return "Apache languages";}
if (lang=="ara"){return "Arabic";}
if (lang=="arc"){return "Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)";}
if (lang=="arg"){return "Aragonese";}
if (lang=="arm"){return "Armenian";}
if (lang=="arn"){return "Mapudungun; Mapuche";}
if (lang=="arp"){return "Arapaho";}
if (lang=="art"){return "Artificial languages";}
if (lang=="arw"){return "Arawak";}
if (lang=="asm"){return "Assamese";}
if (lang=="ast"){return "Asturian; Bable; Leonese; Asturleonese";}
if (lang=="ath"){return "Athapascan languages";}
if (lang=="aus"){return "Australian languages";}
if (lang=="ava"){return "Avaric";}
if (lang=="ave"){return "Avestan";}
if (lang=="awa"){return "Awadhi";}
if (lang=="aym"){return "Aymara";}
if (lang=="aze"){return "Azerbaijani";}
if (lang=="bad"){return "Banda languages";}
if (lang=="bai"){return "Bamileke languages";}
if (lang=="bak"){return "Bashkir";}
if (lang=="bal"){return "Baluchi";}
if (lang=="bam"){return "Bambara";}
if (lang=="ban"){return "Balinese";}
if (lang=="baq"){return "Basque";}
if (lang=="bas"){return "Basa";}
if (lang=="bat"){return "Baltic languages";}
if (lang=="bej"){return "Beja; Bedawiyet";}
if (lang=="bel"){return "Belarusian";}
if (lang=="bem"){return "Bemba";}
if (lang=="ben"){return "Bengali";}
if (lang=="ber"){return "Berber languages";}
if (lang=="bho"){return "Bhojpuri";}
if (lang=="bih"){return "Bihari languages";}
if (lang=="bik"){return "Bikol";}
if (lang=="bin"){return "Bini; Edo";}
if (lang=="bis"){return "Bislama";}
if (lang=="bla"){return "Siksika";}
if (lang=="bnt"){return "Bantu languages";}
if (lang=="bod"){return "Tibetan";}
if (lang=="bos"){return "Bosnian";}
if (lang=="bra"){return "Braj";}
if (lang=="bre"){return "Breton";}
if (lang=="btk"){return "Batak languages";}
if (lang=="bua"){return "Buriat";}
if (lang=="bug"){return "Buginese";}
if (lang=="bul"){return "Bulgarian";}
if (lang=="bur"){return "Burmese";}
if (lang=="byn"){return "Blin; Bilin";}
if (lang=="cad"){return "Caddo";}
if (lang=="cai"){return "Central American Indian languages";}
if (lang=="car"){return "Galibi Carib";}
if (lang=="cat"){return "Catalan; Valencian";}
if (lang=="cau"){return "Caucasian languages";}
if (lang=="ceb"){return "Cebuano";}
if (lang=="cel"){return "Celtic languages";}
if (lang=="ces"){return "Czech";}
if (lang=="cha"){return "Chamorro";}
if (lang=="chb"){return "Chibcha";}
if (lang=="che"){return "Chechen";}
if (lang=="chg"){return "Chagatai";}
if (lang=="chi"){return "Chinese";}
if (lang=="chk"){return "Chuukese";}
if (lang=="chm"){return "Mari";}
if (lang=="chn"){return "Chinook jargon";}
if (lang=="cho"){return "Choctaw";}
if (lang=="chp"){return "Chipewyan; Dene Suline";}
if (lang=="chr"){return "Cherokee";}
if (lang=="chu"){return "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic";}
if (lang=="chv"){return "Chuvash";}
if (lang=="chy"){return "Cheyenne";}
if (lang=="cmc"){return "Chamic languages";}
if (lang=="cop"){return "Coptic";}
if (lang=="cor"){return "Cornish";}
if (lang=="cos"){return "Corsican";}
if (lang=="cpe"){return "Creoles and pidgins, English based";}
if (lang=="cpf"){return "Creoles and pidgins, French-based";}
if (lang=="cpp"){return "Creoles and pidgins, Portuguese-based";}
if (lang=="cre"){return "Cree";}
if (lang=="crh"){return "Crimean Tatar; Crimean Turkish";}
if (lang=="crp"){return "Creoles and pidgins";}
if (lang=="csb"){return "Kashubian";}
if (lang=="cus"){return "Cushitic languages";}
if (lang=="cym"){return "Welsh";}
if (lang=="cze"){return "Czech";}
if (lang=="cze"){return "Czech";}
if (lang=="dak"){return "Dakota";}
if (lang=="dan"){return "Danish";}
if (lang=="dar"){return "Dargwa";}
if (lang=="day"){return "Land Dayak languages";}
if (lang=="del"){return "Delaware";}
if (lang=="den"){return "Slave (Athapascan)";}
if (lang=="deu"){return "German";}
if (lang=="dgr"){return "Dogrib";}
if (lang=="din"){return "Dinka";}
if (lang=="div"){return "Divehi; Dhivehi; Maldivian";}
if (lang=="doi"){return "Dogri";}
if (lang=="dra"){return "Dravidian languages";}
if (lang=="dsb"){return "Lower Sorbian";}
if (lang=="dua"){return "Duala";}
if (lang=="dum"){return "Dutch, Middle (ca.1050-1350)";}
if (lang=="dut"){return "Dutch; Flemish";}
if (lang=="dyu"){return "Dyula";}
if (lang=="dzo"){return "Dzongkha";}
if (lang=="efi"){return "Efik";}
if (lang=="egy"){return "Egyptian (Ancient)";}
if (lang=="eka"){return "Ekajuk";}
if (lang=="ell"){return "Greek, Modern (1453-)";}
if (lang=="elx"){return "Elamite";}
if (lang=="eng"){return "English";}
if (lang=="enm"){return "English, Middle (1100-1500)";}
if (lang=="epo"){return "Esperanto";}
if (lang=="est"){return "Estonian";}
if (lang=="eus"){return "Basque";}
if (lang=="eus"){return "Basque";}
if (lang=="ewe"){return "Ewe";}
if (lang=="ewo"){return "Ewondo";}
if (lang=="fan"){return "Fang";}
if (lang=="fao"){return "Faroese";}
if (lang=="fas"){return "Persian";}
if (lang=="fas"){return "Persian";}
if (lang=="fat"){return "Fanti";}
if (lang=="fij"){return "Fijian";}
if (lang=="fil"){return "Filipino; Pilipino";}
if (lang=="fin"){return "Finnish";}
if (lang=="fiu"){return "Finno-Ugrian languages";}
if (lang=="fon"){return "Fon";}
if (lang=="fra"){return "French";}
if (lang=="fre"){return "French";}
if (lang=="frm"){return "French, Middle (ca.1400-1600)";}
if (lang=="fro"){return "French, Old (842-ca.1400)";}
if (lang=="frr"){return "Northern Frisian";}
if (lang=="frs"){return "Eastern Frisian";}
if (lang=="fry"){return "Western Frisian";}
if (lang=="ful"){return "Fulah";}
if (lang=="fur"){return "Friulian";}
if (lang=="gaa"){return "Ga";}
if (lang=="gay"){return "Gayo";}
if (lang=="gba"){return "Gbaya";}
if (lang=="gem"){return "Germanic languages";}
if (lang=="geo"){return "Georgian";}
if (lang=="ger"){return "German";}
if (lang=="gez"){return "Geez";}
if (lang=="gil"){return "Gilbertese";}
if (lang=="gla"){return "Gaelic; Scottish Gaelic";}
if (lang=="gle"){return "Irish";}
if (lang=="glg"){return "Galician";}
if (lang=="glv"){return "Manx";}
if (lang=="gmh"){return "German, Middle High (ca.1050-1500)";}
if (lang=="goh"){return "German, Old High (ca.750-1050)";}
if (lang=="gon"){return "Gondi";}
if (lang=="gor"){return "Gorontalo";}
if (lang=="got"){return "Gothic";}
if (lang=="grb"){return "Grebo";}
if (lang=="grc"){return "Greek, Ancient (to 1453)";}
if (lang=="gre"){return "Greek, Modern (1453-)";}
if (lang=="grn"){return "Guarani";}
if (lang=="gsw"){return "Swiss German; Alemannic; Alsatian";}
if (lang=="guj"){return "Gujarati";}
if (lang=="gwi"){return "Gwich'in";}
if (lang=="hai"){return "Haida";}
if (lang=="hat"){return "Haitian; Haitian Creole";}
if (lang=="hau"){return "Hausa";}
if (lang=="haw"){return "Hawaiian";}
if (lang=="heb"){return "Hebrew";}
if (lang=="her"){return "Herero";}
if (lang=="hil"){return "Hiligaynon";}
if (lang=="him"){return "Himachali languages; Western Pahari languages";}
if (lang=="hin"){return "Hindi";}
if (lang=="hit"){return "Hittite";}
if (lang=="hmn"){return "Hmong; Mong";}
if (lang=="hmo"){return "Hiri Motu";}
if (lang=="hrv"){return "Croatian";}
if (lang=="hsb"){return "Upper Sorbian";}
if (lang=="hun"){return "Hungarian";}
if (lang=="hup"){return "Hupa";}
if (lang=="hye"){return "Armenian";}
if (lang=="iba"){return "Iban";}
if (lang=="ibo"){return "Igbo";}
if (lang=="ice"){return "Icelandic";}
if (lang=="ido"){return "Ido";}
if (lang=="iii"){return "Sichuan Yi; Nuosu";}
if (lang=="ijo"){return "Ijo languages";}
if (lang=="iku"){return "Inuktitut";}
if (lang=="ile"){return "Interlingue; Occidental";}
if (lang=="ilo"){return "Iloko";}
if (lang=="ina"){return "Interlingua (International Auxiliary Language Association)";}
if (lang=="inc"){return "Indic languages";}
if (lang=="ind"){return "Indonesian";}
if (lang=="ine"){return "Indo-European languages";}
if (lang=="inh"){return "Ingush";}
if (lang=="ipk"){return "Inupiaq";}
if (lang=="ira"){return "Iranian languages";}
if (lang=="iro"){return "Iroquoian languages";}
if (lang=="isl"){return "Icelandic";}
if (lang=="ita"){return "Italian";}
if (lang=="jav"){return "Javanese";}
if (lang=="jbo"){return "Lojban";}
if (lang=="jpn"){return "Japanese";}
if (lang=="jpr"){return "Judeo-Persian";}
if (lang=="jrb"){return "Judeo-Arabic";}
if (lang=="kaa"){return "Kara-Kalpak";}
if (lang=="kab"){return "Kabyle";}
if (lang=="kac"){return "Kachin; Jingpho";}
if (lang=="kal"){return "Kalaallisut; Greenlandic";}
if (lang=="kam"){return "Kamba";}
if (lang=="kan"){return "Kannada";}
if (lang=="kar"){return "Karen languages";}
if (lang=="kas"){return "Kashmiri";}
if (lang=="kat"){return "Georgian";}
if (lang=="kau"){return "Kanuri";}
if (lang=="kaw"){return "Kawi";}
if (lang=="kaz"){return "Kazakh";}
if (lang=="kbd"){return "Kabardian";}
if (lang=="kha"){return "Khasi";}
if (lang=="khi"){return "Khoisan languages";}
if (lang=="khm"){return "Central Khmer";}
if (lang=="kho"){return "Khotanese; Sakan";}
if (lang=="kik"){return "Kikuyu; Gikuyu";}
if (lang=="kin"){return "Kinyarwanda";}
if (lang=="kir"){return "Kirghiz; Kyrgyz";}
if (lang=="kmb"){return "Kimbundu";}
if (lang=="kok"){return "Konkani";}
if (lang=="kom"){return "Komi";}
if (lang=="kon"){return "Kongo";}
if (lang=="kor"){return "Korean";}
if (lang=="kos"){return "Kosraean";}
if (lang=="kpe"){return "Kpelle";}
if (lang=="krc"){return "Karachay-Balkar";}
if (lang=="krl"){return "Karelian";}
if (lang=="kro"){return "Kru languages";}
if (lang=="kru"){return "Kurukh";}
if (lang=="kua"){return "Kuanyama; Kwanyama";}
if (lang=="kum"){return "Kumyk";}
if (lang=="kur"){return "Kurdish";}
if (lang=="kut"){return "Kutenai";}
if (lang=="lad"){return "Ladino";}
if (lang=="lah"){return "Lahnda";}
if (lang=="lam"){return "Lamba";}
if (lang=="lao"){return "Lao";}
if (lang=="lat"){return "Latin";}
if (lang=="lav"){return "Latvian";}
if (lang=="lez"){return "Lezghian";}
if (lang=="lim"){return "Limburgan; Limburger; Limburgish";}
if (lang=="lin"){return "Lingala";}
if (lang=="lit"){return "Lithuanian";}
if (lang=="lol"){return "Mongo";}
if (lang=="loz"){return "Lozi";}
if (lang=="ltz"){return "Luxembourgish; Letzeburgesch";}
if (lang=="lua"){return "Luba-Lulua";}
if (lang=="lub"){return "Luba-Katanga";}
if (lang=="lug"){return "Ganda";}
if (lang=="lui"){return "Luiseno";}
if (lang=="lun"){return "Lunda";}
if (lang=="luo"){return "Luo (Kenya and Tanzania)";}
if (lang=="lus"){return "Lushai";}
if (lang=="mac"){return "Macedonian";}
if (lang=="mad"){return "Madurese";}
if (lang=="mag"){return "Magahi";}
if (lang=="mah"){return "Marshallese";}
if (lang=="mai"){return "Maithili";}
if (lang=="mak"){return "Makasar";}
if (lang=="mal"){return "Malayalam";}
if (lang=="man"){return "Mandingo";}
if (lang=="mao"){return "Maori";}
if (lang=="map"){return "Austronesian languages";}
if (lang=="mar"){return "Marathi";}
if (lang=="mas"){return "Masai";}
if (lang=="may"){return "Malay";}
if (lang=="mdf"){return "Moksha";}
if (lang=="mdr"){return "Mandar";}
if (lang=="men"){return "Mende";}
if (lang=="mga"){return "Irish, Middle (900-1200)";}
if (lang=="mic"){return "Mi'kmaq; Micmac";}
if (lang=="min"){return "Minangkabau";}
if (lang=="mis"){return "Uncoded languages";}
if (lang=="mkd"){return "Macedonian";}
if (lang=="mkh"){return "Mon-Khmer languages";}
if (lang=="mlg"){return "Malagasy";}
if (lang=="mlt"){return "Maltese";}
if (lang=="mnc"){return "Manchu";}
if (lang=="mni"){return "Manipuri";}
if (lang=="mno"){return "Manobo languages";}
if (lang=="moh"){return "Mohawk";}
if (lang=="mon"){return "Mongolian";}
if (lang=="mos"){return "Mossi";}
if (lang=="mri"){return "Maori";}
if (lang=="msa"){return "Malay";}
if (lang=="msa"){return "Malay";}
if (lang=="mul"){return "Multiple languages";}
if (lang=="mun"){return "Munda languages";}
if (lang=="mus"){return "Creek";}
if (lang=="mwl"){return "Mirandese";}
if (lang=="mwr"){return "Marwari";}
if (lang=="mya"){return "Burmese";}
if (lang=="myn"){return "Mayan languages";}
if (lang=="myv"){return "Erzya";}
if (lang=="nah"){return "Nahuatl languages";}
if (lang=="nai"){return "North American Indian languages";}
if (lang=="nap"){return "Neapolitan";}
if (lang=="nau"){return "Nauru";}
if (lang=="nav"){return "Navajo; Navaho";}
if (lang=="nbl"){return "Ndebele, South; South Ndebele";}
if (lang=="nde"){return "Ndebele, North; North Ndebele";}
if (lang=="ndo"){return "Ndonga";}
if (lang=="nds"){return "Low German; Low Saxon; German, Low; Saxon, Low";}
if (lang=="nep"){return "Nepali";}
if (lang=="new"){return "Nepal Bhasa; Newari";}
if (lang=="nia"){return "Nias";}
if (lang=="nic"){return "Niger-Kordofanian languages";}
if (lang=="niu"){return "Niuean";}
if (lang=="nld"){return "Dutch; Flemish";}
if (lang=="nno"){return "Norwegian Nynorsk; Nynorsk, Norwegian";}
if (lang=="nob"){return "Bokmål, Norwegian; Norwegian Bokmål";}
if (lang=="nog"){return "Nogai";}
if (lang=="non"){return "Norse, Old";}
if (lang=="nor"){return "Norwegian";}
if (lang=="nqo"){return "N'Ko";}
if (lang=="nso"){return "Pedi; Sepedi; Northern Sotho";}
if (lang=="nub"){return "Nubian languages";}
if (lang=="nwc"){return "Classical Newari; Old Newari; Classical Nepal Bhasa";}
if (lang=="nya"){return "Chichewa; Chewa; Nyanja";}
if (lang=="nym"){return "Nyamwezi";}
if (lang=="nyn"){return "Nyankole";}
if (lang=="nyo"){return "Nyoro";}
if (lang=="nzi"){return "Nzima";}
if (lang=="oci"){return "Occitan (post 1500)";}
if (lang=="oji"){return "Ojibwa";}
if (lang=="ori"){return "Oriya";}
if (lang=="orm"){return "Oromo";}
if (lang=="osa"){return "Osage";}
if (lang=="oss"){return "Ossetian; Ossetic";}
if (lang=="ota"){return "Turkish, Ottoman (1500-1928)";}
if (lang=="oto"){return "Otomian languages";}
if (lang=="paa"){return "Papuan languages";}
if (lang=="pag"){return "Pangasinan";}
if (lang=="pal"){return "Pahlavi";}
if (lang=="pam"){return "Pampanga; Kapampangan";}
if (lang=="pan"){return "Panjabi; Punjabi";}
if (lang=="pap"){return "Papiamento";}
if (lang=="pau"){return "Palauan";}
if (lang=="peo"){return "Persian, Old (ca.600-400 B.C.)";}
if (lang=="per"){return "Persian";}
if (lang=="phi"){return "Philippine languages";}
if (lang=="phn"){return "Phoenician";}
if (lang=="pli"){return "Pali";}
if (lang=="pol"){return "Polish";}
if (lang=="pon"){return "Pohnpeian";}
if (lang=="por"){return "Portuguese";}
if (lang=="pra"){return "Prakrit languages";}
if (lang=="pro"){return "Provençal, Old (to 1500);Occitan, Old (to 1500)";}
if (lang=="pus"){return "Pushto; Pashto";}
if (lang=="que"){return "Quechua";}
if (lang=="raj"){return "Rajasthani";}
if (lang=="rap"){return "Rapanui";}
if (lang=="rar"){return "Rarotongan; Cook Islands Maori";}
if (lang=="roa"){return "Romance languages";}
if (lang=="roh"){return "Romansh";}
if (lang=="rom"){return "Romany";}
if (lang=="ron"){return "Romanian; Moldavian; Moldovan";}
if (lang=="rum"){return "Romanian; Moldavian; Moldovan";}
if (lang=="run"){return "Rundi";}
if (lang=="rup"){return "Aromanian; Arumanian; Macedo-Romanian";}
if (lang=="rus"){return "Russian";}
if (lang=="sad"){return "Sandawe";}
if (lang=="sag"){return "Sango";}
if (lang=="sah"){return "Yakut";}
if (lang=="sai"){return "South American Indian languages";}
if (lang=="sal"){return "Salishan languages";}
if (lang=="sam"){return "Samaritan Aramaic";}
if (lang=="san"){return "Sanskrit";}
if (lang=="sas"){return "Sasak";}
if (lang=="sat"){return "Santali";}
if (lang=="scn"){return "Sicilian";}
if (lang=="sco"){return "Scots";}
if (lang=="sel"){return "Selkup";}
if (lang=="sem"){return "Semitic languages";}
if (lang=="sga"){return "Irish, Old (to 900)";}
if (lang=="sgn"){return "Sign Languages";}
if (lang=="shn"){return "Shan";}
if (lang=="sid"){return "Sidamo";}
if (lang=="sin"){return "Sinhala; Sinhalese";}
if (lang=="sio"){return "Siouan languages";}
if (lang=="sit"){return "Sino-Tibetan languages";}
if (lang=="sla"){return "Slavic languages";}
if (lang=="slk"){return "Slovak";}
if (lang=="slo"){return "Slovak";}
if (lang=="slv"){return "Slovenian";}
if (lang=="sma"){return "Southern Sami";}
if (lang=="sme"){return "Northern Sami";}
if (lang=="smi"){return "Sami languages";}
if (lang=="smj"){return "Lule Sami";}
if (lang=="smn"){return "Inari Sami";}
if (lang=="smo"){return "Samoan";}
if (lang=="sms"){return "Skolt Sami";}
if (lang=="sna"){return "Shona";}
if (lang=="snd"){return "Sindhi";}
if (lang=="snk"){return "Soninke";}
if (lang=="sog"){return "Sogdian";}
if (lang=="som"){return "Somali";}
if (lang=="son"){return "Songhai languages";}
if (lang=="sot"){return "Sotho, Southern";}
if (lang=="spa"){return "Spanish; Castilian";}
if (lang=="sqi"){return "Albanian";}
if (lang=="srd"){return "Sardinian";}
if (lang=="srn"){return "Sranan Tongo";}
if (lang=="srp"){return "Serbian";}
if (lang=="srr"){return "Serer";}
if (lang=="ssa"){return "Nilo-Saharan languages";}
if (lang=="ssw"){return "Swati";}
if (lang=="suk"){return "Sukuma";}
if (lang=="sun"){return "Sundanese";}
if (lang=="sus"){return "Susu";}
if (lang=="sux"){return "Sumerian";}
if (lang=="swa"){return "Swahili";}
if (lang=="swe"){return "Swedish";}
if (lang=="syc"){return "Classical Syriac";}
if (lang=="syr"){return "Syriac";}
if (lang=="tah"){return "Tahitian";}
if (lang=="tai"){return "Tai languages";}
if (lang=="tam"){return "Tamil";}
if (lang=="tat"){return "Tatar";}
if (lang=="tel"){return "Telugu";}
if (lang=="tem"){return "Timne";}
if (lang=="ter"){return "Tereno";}
if (lang=="tet"){return "Tetum";}
if (lang=="tgk"){return "Tajik";}
if (lang=="tgl"){return "Tagalog";}
if (lang=="tha"){return "Thai";}
if (lang=="tib"){return "Tibetan";}
if (lang=="tig"){return "Tigre";}
if (lang=="tir"){return "Tigrinya";}
if (lang=="tiv"){return "Tiv";}
if (lang=="tkl"){return "Tokelau";}
if (lang=="tlh"){return "Klingon; tlhIngan-Hol";}
if (lang=="tli"){return "Tlingit";}
if (lang=="tmh"){return "Tamashek";}
if (lang=="tog"){return "Tonga (Nyasa)";}
if (lang=="ton"){return "Tonga (Tonga Islands)";}
if (lang=="tpi"){return "Tok Pisin";}
if (lang=="tsi"){return "Tsimshian";}
if (lang=="tsn"){return "Tswana";}
if (lang=="tso"){return "Tsonga";}
if (lang=="tuk"){return "Turkmen";}
if (lang=="tum"){return "Tumbuka";}
if (lang=="tup"){return "Tupi languages";}
if (lang=="tur"){return "Turkish";}
if (lang=="tut"){return "Altaic languages";}
if (lang=="tvl"){return "Tuvalu";}
if (lang=="twi"){return "Twi";}
if (lang=="tyv"){return "Tuvinian";}
if (lang=="udm"){return "Udmurt";}
if (lang=="uga"){return "Ugaritic";}
if (lang=="uig"){return "Uighur; Uyghur";}
if (lang=="ukr"){return "Ukrainian";}
if (lang=="umb"){return "Umbundu";}
if (lang=="urd"){return "Urdu";}
if (lang=="uzb"){return "Uzbek";}
if (lang=="vai"){return "Vai";}
if (lang=="ven"){return "Venda";}
if (lang=="vie"){return "Vietnamese";}
if (lang=="vol"){return "Volapük";}
if (lang=="vot"){return "Votic";}
if (lang=="wak"){return "Wakashan languages";}
if (lang=="wal"){return "Wolaitta; Wolaytta";}
if (lang=="war"){return "Waray";}
if (lang=="was"){return "Washo";}
if (lang=="wel"){return "Welsh";}
if (lang=="wen"){return "Sorbian languages";}
if (lang=="wln"){return "Walloon";}
if (lang=="wol"){return "Wolof";}
if (lang=="xal"){return "Kalmyk; Oirat";}
if (lang=="xho"){return "Xhosa";}
if (lang=="yao"){return "Yao";}
if (lang=="yap"){return "Yapese";}
if (lang=="yid"){return "Yiddish";}
if (lang=="yor"){return "Yoruba";}
if (lang=="ypk"){return "Yupik languages";}
if (lang=="zap"){return "Zapotec";}
if (lang=="zbl"){return "Blissymbols; Blissymbolics; Bliss";}
if (lang=="zen"){return "Zenaga";}
if (lang=="zgh"){return "Standard Moroccan Tamazight";}
if (lang=="zha"){return "Zhuang; Chuang";}
if (lang=="zho"){return "Chinese";}
if (lang=="znd"){return "Zande languages";}
if (lang=="zul"){return "Zulu";}
if (lang=="zun"){return "Zuni";}
if (lang=="zxx"){return "No linguistic content; Not applicable";}
if (lang=="zza"){return "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki";}
return "Undetermined";// actually "und", assumed by default
}
}

12
lib/langcodes.h Normal file
View file

@ -0,0 +1,12 @@
#include <string>
namespace Encodings {
class ISO639{
public:
static std::string decode(const std::string & lang);
};
}

View file

@ -2,6 +2,7 @@
#include "output_http_internal.h"
#include <mist/stream.h>
#include <mist/encode.h>
#include <mist/langcodes.h>
#include "flashPlayer.h"
#include "oldFlashPlayer.h"
@ -386,6 +387,9 @@ namespace Mist {
// show ALL the meta datas!
json_resp["meta"] = strm.asJSON();
jsonForEach(json_resp["meta"]["tracks"], it) {
if (it->isMember("lang")){
(*it)["language"] = Encodings::ISO639::decode((*it)["lang"].asStringRef());
}
it->removeMember("fragments");
it->removeMember("keys");
it->removeMember("keysizes");