Re: [vdr] Polish EPG problems

2012-10-08 Thread Klaus Schmidinger

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:
VDR_CHARSET_OVERRIDE=PL
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.

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Polish EPG problems

2012-10-07 Thread Mariusz Bialonczyk
On 10/07/2012 09:16 PM, Matti Lehtimäki wrote:
> The EPGFixer-plugin has the capability to fix character set problem you have 
> described. It can be found at 
> http://projects.vdr-developer.org/projects/plg-epgfixer.
Thank you for this tip, but I am rather interested to fix the problem in the 
mainline.

-- 
Mariusz Białończyk
jabber/e-mail: ma...@skyboo.net
https://github.com/manio

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Polish EPG problems

2012-10-07 Thread Matti Lehtimäki

On 10/07/2012 09:59 PM, 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.


The EPGFixer-plugin has the capability to fix character set problem you 
have described. It can be found at 
http://projects.vdr-developer.org/projects/plg-epgfixer.


--
Matti Lehtimäki

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[vdr] Polish EPG problems

2012-10-07 Thread Mariusz Bialonczyk
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:
VDR_CHARSET_OVERRIDE=PL
this could also return cs6937 when ISO8859-5 is defined (like above).

Please tell me what you think about it.

ps. by the way i want to thank you for your work
and piece of a good software! :)

regards,
-- 
Mariusz Białończyk
jabber/e-mail: ma...@skyboo.net
https://github.com/manio

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr