[vdr] Polish EPG problems

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Mon Oct 8 11:12:00 CEST 2012

On 07.10.2012 20:59, Mariusz Bialonczyk wrote:
> Hi,
> I've been using vdr for very long time (since 1.2.1 afair), but the
> polish epg problem is unfortunately still here in recent versions.
> I made a deep analysis of the problem and here are the details.
> Polish broadcasters are ignorants regarding dvb standards!
> It's very sad but it's true :(
> Of course e-mails to them about it doesn't give an any effect...
> There are two kind of problems with polish providers on HotBird 13E:
> First problem is that similar to one handled by CharsetOverride:
> Part of the channels are encoded in ISO-8859-2 while not announce that,
> this can be handled with VDR_CHARSET_OVERRIDE correctly.
> The other part cannot be currently handled correctly in vdr without patching:
> Some channels are using ISO6937 while announcing ISO-8859-5! (sic!)
> There are also providers which are respecting standards,
> but the above bad cases are for two main polish digital platforms,
> so it would be great if vdr finally would handle it correctly.
> I have two propositions to solve the problem:
> 1. check if VDR_CHARSET_OVERRIDE is set to ISO-8859-2 and based on
> this information, force apply following change:
> diff --git a/libsi/si.c b/libsi/si.c
> index 80d34d1..bc34bd7 100644
> --- a/libsi/si.c
> +++ b/libsi/si.c
> @@ -373,6 +373,8 @@ const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *i
>         length -= 1;
>         if (isSingleByte)
>            *isSingleByte = tag <= SingleByteLimit;
> +      if (tag == 0x01 /* ISO8859-5 */)
> +         return cs6937;
>         return CharacterTables1[tag];
>      }
>      return cs;
> 2. add additional VDR_CHARSET_OVERRIDE option, eg:
> this could also return cs6937 when ISO8859-5 is defined (like above).
> Please tell me what you think about it.

Well, it's one thing to assume a certain character set if the broadcaster
omits the tag byte. But it's a whole different story to ignore a tag byte
that is actually present.

I suggest you use the EPGFixer-plugin as suggested by Matti Lehtimäki in
his reply to your post.


More information about the vdr mailing list