[mythtv-users] Incorrect characters in the EPG and program name
Karl Dietz
dekarl at spaetfruehstuecken.org
Tue Jan 15 22:06:53 UTC 2013
Hi Steve,
sorry for not getting back to you earlier.
On 14.01.2013 15:44, spst wrote:
> 2013. 01. 14, hétfő keltezéssel 09.27-kor Karl Dietz ezt írta:
>> replying to myself with an example of what we need to fix the guide
>> until the broadcaster fixes their SI generator. (While creating the
>> example I noticed that the broadcaster has fixed their guide, so there
>> is still hope :)
> here is my hexdump with text...
...
> I figured out character codes from a lot of dump below:
>
> f6 ö c1 Á
> fc ü da Ú
> e9 é c9 É
> f5 ő cd Í
> f3 ó
> fb ű
> e1 á
> fa ú
> ed í
>
> I think it is ISO8859-2 code page...
>
> What do you think how can I fix it if we know these infos?
so it appears to be ISO-8859-2
step 1) add a fixup for ISO-8859-2 that matches the other 3 at
http://code.mythtv.org/cgit/mythtv/tree/mythtv/libs/libmythtv/eithelper.cpp#n212
unsigned char enc_2[3] = { 0x10, 0x00, 0x02 };
and
if (fix & EITFixUp::kEFixForceISO8859_2)
{
enc = enc_2;
enc_len = sizeof(enc_2);
}
step 2) as kEFixForceISO8859_2 does not exist yet we have to add it at
http://code.mythtv.org/cgit/mythtv/tree/mythtv/libs/libmythtv/eitfixup.h#n55
kEFixForceISO8859_2 = 0x100000,
step 3) apply the new fixup to the network or transports or services
that need to be fixed.
at
http://code.mythtv.org/cgit/mythtv/tree/mythtv/libs/libmythtv/eithelper.cpp#n1086
the format is
// transport_id<<32 | netword_id<<16 | service_id
for example you can fix the everything from that original_network with
fix[THE_ONID_GOES_HERE << 16] = EITFixUp::kEFixForceISO8859_2;
(the U and LL at the end of the numbers are needed hints for the C++
compiler to pick the right integer type)
The relevant IDs are these from dvbsnoop
Service_ID: 47 (0x002f) [= --> refers to PMS program_number]
Transport_stream_ID: 33 (0x0021)
Original_network_ID: 133 (0x0085) [= BetaTechnik | BetaTechnik]
Regards,
Karl
More information about the mythtv-users
mailing list