[mythtv] EIT multi-byte encoding
JP Moitinho de Almeida
moitinho at civil.ist.utl.pt
Wed Mar 16 23:00:21 UTC 2011
Hello
This week the EIT data that I receive on the Portuguese DVB-T network "TDT
Continente" became empty. The slots are properly defined, but the descriptions
are empty.
This network had a special clause on eithelper.cpp (the last one on the list)
for ISO8859_15, but when I checked the output of dvbsnoop (at the end) it was
clear that now it is the "UTF-8 encoding of ISO/IEC 10646" (code 0x15).
That impression is confirmed by
"2011-03-16 22:00:10.196 dvb_decode_text: Multi-byte coded text is not yet
supported."
in the output of "mythbackend -v siparser,eit"
Furthermore kaffeine, used to provide a program guide with wrong encoding is
now giving a perfect text. It just uses (if I understand the code correctly)
case Utf_8: codec = QTextCodec::codecForName("UTF-8"); break;
How tricky would it be to include the corresponding code in dvbdescriptors.cpp
for the case (src[0] == 0x15)?
It seems that Qt has all the necessary stuff and I am prepared to test
patches. Unfortunately my cpp/qt knowledge is not appropriate to start
without some guidance.
Or is it more effective to open a ticket?
Thanks, regards
ZP
-------------------------
Some info
- Running mythbackend version: fixes/0.24 [v0.24-211-g785ea1b]
- output of dvbsnoop -n 1 0x12
dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/
------------------------------------------------------------
SECT-Packet: 00000001 PID: 18 (0x0012), Length: 543 (0x021f)
Time received: Wed 2011-03-16 22:45:48.749
------------------------------------------------------------
0000: 4e f2 1c 04 50 f3 01 01 04 4d 22 c8 01 4e 39 60 N...P....M"..N9`
0010: d9 54 23 55 00 01 05 00 02 01 4d db 70 6f 72 14 .T#U......M.por.
0020: 15 53 65 64 75 c3 a7 c3 a3 6f 20 2d 20 45 70 2e .Sedu....o - Ep.
0030: 20 31 30 32 c2 15 53 61 6d 75 65 6c 20 65 20 46 102..Samuel e F
0040: 6c 6f 72 20 70 72 65 70 61 72 61 6d 2d 73 65 20 lor preparam-se
0050: 70 61 72 61 20 62 65 62 65 72 20 75 6d 20 63 6f para beber um co
0060: 70 6f 20 64 65 20 76 69 6e 68 6f 20 65 20 72 65 po de vinho e re
0070: 6c 61 78 61 72 20 71 75 61 6e 64 6f 20 73 c3 a3 laxar quando s..
0080: 6f 20 69 6e 74 65 72 72 6f 6d 70 69 64 6f 73 20 o interrompidos
0090: 70 6f 72 20 75 6d 20 74 65 6c 65 66 6f 6e 65 6d por um telefonem
00a0: 61 2e 20 41 20 61 64 76 6f 67 61 64 61 20 61 63 a. A advogada ac
00b0: 61 62 61 20 70 6f 72 20 74 65 72 20 64 65 20 73 aba por ter de s
00c0: 61 69 72 20 65 20 70 6f 75 63 6f 73 20 6d 69 6e air e poucos min
00d0: 75 74 6f 73 20 64 65 70 6f 69 73 20 53 6f 66 69 utos depois Sofi
00e0: 61 20 61 70 61 72 65 63 65 2c 20 65 6e 74 72 61 a aparece, entra
00f0: 6e 64 6f 20 2e 2e 2e 4e fe 01 70 6f 72 00 f8 15 ndo ...N..por...
0100: 53 61 6d 75 65 6c 20 65 20 46 6c 6f 72 20 70 72 Samuel e Flor pr
0110: 65 70 61 72 61 6d 2d 73 65 20 70 61 72 61 20 62 eparam-se para b
0120: 65 62 65 72 20 75 6d 20 63 6f 70 6f 20 64 65 20 eber um copo de
0130: 76 69 6e 68 6f 20 65 20 72 65 6c 61 78 61 72 20 vinho e relaxar
0140: 71 75 61 6e 64 6f 20 73 c3 a3 6f 20 69 6e 74 65 quando s..o inte
0150: 72 72 6f 6d 70 69 64 6f 73 20 70 6f 72 20 75 6d rrompidos por um
0160: 20 74 65 6c 65 66 6f 6e 65 6d 61 2e 20 41 20 61 telefonema. A a
0170: 64 76 6f 67 61 64 61 20 61 63 61 62 61 20 70 6f dvogada acaba po
0180: 72 20 74 65 72 20 64 65 20 73 61 69 72 20 65 20 r ter de sair e
0190: 70 6f 75 63 6f 73 20 6d 69 6e 75 74 6f 73 20 64 poucos minutos d
01a0: 65 70 6f 69 73 20 53 6f 66 69 61 20 61 70 61 72 epois Sofia apar
01b0: 65 63 65 2c 20 65 6e 74 72 61 6e 64 6f 20 64 65 ece, entrando de
01c0: 20 72 6f 6d 70 61 6e 74 65 20 6e 61 20 63 61 73 rompante na cas
01d0: 61 20 64 6f 20 72 65 61 6c 69 7a 61 64 6f 72 20 a do realizador
01e0: 65 20 66 61 7a 65 6e 64 6f 2d 73 65 20 64 65 20 e fazendo-se de
01f0: 63 6f 6e 76 69 64 61 4e 22 11 70 6f 72 00 1c 64 convidaN".por..d
0200: 61 20 70 61 72 61 20 62 65 62 65 72 20 76 69 6e a para beber vin
0210: 68 6f 20 63 6f 6d 20 65 6c 65 2e 0c b5 e6 56 ho com ele....V
PID: 18 (0x0012) [= assigned for: DVB Event Information Table (EIT)]
Guess table from table id...
EIT-decoding....
Table_ID: 78 (0x4e) [= Event Information Table (EIT) - actual transport
stream, present/following]
section_syntax_indicator: 1 (0x01)
reserved_1: 1 (0x01)
reserved_2: 3 (0x03)
Section_length: 540 (0x021c)
Service_ID: 1104 (0x0450) [= --> refers to PMT program_number]
reserved_3: 3 (0x03)
Version_number: 25 (0x19)
current_next_indicator: 1 (0x01) [= valid now]
Section_number: 1 (0x01)
Last_Section_number: 1 (0x01)
Transport_stream_ID: 1101 (0x044d)
Original_network_ID: 8904 (0x22c8) [= >>ERROR: not (yet) defined...
Report!<<]
Segment_last_Section_number: 1 (0x01)
Last_table_id: 78 (0x4e) [= Event Information Table (EIT) - actual transport
stream, present/following]
Event_ID: 14688 (0x3960)
Start_time: 0xd954235500 [= 2011-03-16 23:55:00 (UTC)]
Duration: 0x0010500 [= 01:05:00 (UTC)]
Running_status: 0 (0x00) [= undefined]
Free_CA_mode: 0 (0x00) [= unscrambled]
Descriptors_loop_length: 513 (0x201)
DVB-DescriptorTag: 77 (0x4d) [= short_event_descriptor]
descriptor_length: 219 (0xdb)
ISO639_2_language_code: por
event_name_length: 20 (0x14)
event_name: "Sedução - Ep. 102" -- Charset: reserved
text_length: 194 (0xc2)
text_char: "Samuel e Flor preparam-se para beber um copo de vinho
e relaxar quando são interrompidos por um telefonema. A advogada acaba por ter
de sair e poucos minutos depois Sofia aparece, entrando ..." -- Charset:
reserved
DVB-DescriptorTag: 78 (0x4e) [= extended_event_descriptor]
descriptor_length: 254 (0xfe)
descriptor_number: 0 (0x00)
last_descriptor_number: 1 (0x01)
ISO639_2_language_code: por
length_of_items: 0 (0x00)
text_length: 248 (0xf8)
text: "Samuel e Flor preparam-se para beber um copo de vinho e
relaxar quando são interrompidos por um telefonema. A advogada acaba por ter
de sair e poucos minutos depois Sofia aparece, entrando de rompante na casa do
realizador e fazendo-se de convida" -- Charset: reserved
DVB-DescriptorTag: 78 (0x4e) [= extended_event_descriptor]
descriptor_length: 34 (0x22)
descriptor_number: 1 (0x01)
last_descriptor_number: 1 (0x01)
ISO639_2_language_code: por
length_of_items: 0 (0x00)
text_length: 28 (0x1c)
text: "da para beber vinho com ele." -- Charset: Latin alphabet
CRC: 213247574 (0x0cb5e656)
==========================================================
More information about the mythtv-dev
mailing list