eitd/edvbstring.cpp: try to fix 13E 11179 EIT encoding

This commit is contained in:
[CST] Focus
2016-02-18 14:09:56 +03:00
parent 70a29b85b2
commit a87751015a

View File

@@ -2039,7 +2039,7 @@ std::string convertDVBUTF8(const char *data, int len, int table, int tsidonid)
//printf("table %d tsidonid %04x twochar %d : %20s\n", table, tsidonid, twochar, data); //printf("table %d tsidonid %04x twochar %d : %20s\n", table, tsidonid, twochar, data);
switch(data[0]) switch(data[0])
{ {
case 1 ... 12: case 1 ... 11:
newtable=data[i++]+4; newtable=data[i++]+4;
// eDebug("(1..12)text encoded in ISO-8859-%d",table); // eDebug("(1..12)text encoded in ISO-8859-%d",table);
break; break;
@@ -2078,6 +2078,8 @@ std::string convertDVBUTF8(const char *data, int len, int table, int tsidonid)
++i; ++i;
{} //eDebug("unsup. Big5 subset of ISO/IEC 10646-1 enc."); {} //eDebug("unsup. Big5 subset of ISO/IEC 10646-1 enc.");
break; break;
case 0x15: // UTF-8 encoding of ISO/IEC 10646-1
return std::string((char*)data+1, len-1);
case 0x1F: case 0x1F:
{ {
#ifdef ENABLE_FREESATEPG #ifdef ENABLE_FREESATEPG
@@ -2088,8 +2090,8 @@ std::string convertDVBUTF8(const char *data, int len, int table, int tsidonid)
++i; ++i;
break; break;
case 0x0: case 0x0:
case 0xD ... 0xF: case 0xC ... 0xF:
case 0x15 ... 0x1E: case 0x16 ... 0x1E:
{} //eDebug("reserved %d", data[0]); {} //eDebug("reserved %d", data[0]);
++i; ++i;
break; break;