Permalink
Browse files

EITFixup for to force ANIXE EIT to ISO-8859-9 on DVB-T

  • Loading branch information...
1 parent 90b9a81 commit 6002255c0ecfcb23b2d6e7b80dccd48fd4178592 @dekarl dekarl committed Dec 9, 2012
Showing with 16 additions and 2 deletions.
  1. +1 −0 mythtv/libs/libmythtv/eitfixup.h
  2. +15 −2 mythtv/libs/libmythtv/eithelper.cpp
@@ -55,6 +55,7 @@ class EITFixUp
// Early fixups
kEFixForceISO8859_1 = 0x2000,
kEFixForceISO8859_15 = 0x4000,
+ kEFixForceISO8859_9 = 0x80000,
};
EITFixUp();
@@ -218,8 +218,10 @@ static void parse_dvb_event_descriptors(desc_list_t list, uint fix,
MPEGDescriptor::FindBestMatch(
list, DescriptorID::short_event, languagePreferences);
+ // from EN 300 468, Appendix A.2 - Selection of character table
unsigned char enc_1[3] = { 0x10, 0x00, 0x01 };
- unsigned char enc_15[3] = { 0x10, 0x00, 0x0f };
+ unsigned char enc_9[3] = { 0x10, 0x00, 0x09 }; // could use { 0x05 } instead
+ unsigned char enc_15[3] = { 0x10, 0x00, 0x0f }; // could use { 0x0B } instead
int enc_len = 0;
const unsigned char *enc = NULL;
@@ -232,6 +234,14 @@ static void parse_dvb_event_descriptors(desc_list_t list, uint fix,
}
// Is this broken DVB provider in Western Europe?
+ // Use an encoding override of ISO 8859-9 (Latin5)
+ if (fix & EITFixUp::kEFixForceISO8859_9)
+ {
+ enc = enc_9;
+ enc_len = sizeof(enc_9);
+ }
+
+ // Is this broken DVB provider in Western Europe?
// Use an encoding override of ISO 8859-15 (Latin6)
if (fix & EITFixUp::kEFixForceISO8859_15)
{
@@ -999,7 +1009,10 @@ static void init_fixup(QMap<uint64_t,uint> &fix)
//DVB-T Germany Berlin HSE/MonA TV
fix[ 772LL << 32 | 8468 << 16 | 16387] = EITFixUp::kEFixForceISO8859_15;
//DVB-T Germany Ruhrgebiet Tele 5
- fix[ 8707LL << 32 | 8468 << 16 | 16413] = EITFixUp::kEFixForceISO8859_15;
+ //fix[ 8707LL << 32 | 8468 << 16 | 16413] = EITFixUp::kEFixForceISO8859_15; // they are sending the ISO 8859-9 signalling now
+ // ANIXE
+ fix[ 8707LL << 32 | 8468U << 16 | 16426 ] = // DVB-T Rhein-Main
+ EITFixUp::kEFixForceISO8859_9;
// DVB-C Kabel Deutschland encoding fixes Germany
fix[ 112LL << 32 | 61441U << 16] = EITFixUp::kEFixForceISO8859_15;

0 comments on commit 6002255

Please sign in to comment.