From patchwork Sun Oct 7 18:59:40 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mariusz Bialonczyk X-Patchwork-Id: 14945 Received: from localhost ([127.0.0.1] helo=www.linuxtv.org) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1TKw5E-0007ij-PB; Sun, 07 Oct 2012 21:00:12 +0200 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1TKw4o-0007iT-76 for vdr@linuxtv.org; Sun, 07 Oct 2012 21:00:11 +0200 X-tubIT-Incoming-IP: 82.160.187.4 Received: from [82.160.187.4] (helo=skyboo.net) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtps [TLSv1:AES128-SHA:128] for id 1TKw4n-0007HN-JB; Sun, 07 Oct 2012 20:59:46 +0200 Received: from skyboo.net ([2001:470:1f0b:1af::2]) by skyboo.net with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1TKw4i-0001fq-9r for vdr@linuxtv.org; Sun, 07 Oct 2012 20:59:44 +0200 Message-ID: <5071D11C.8080101@skyboo.net> Date: Sun, 07 Oct 2012 20:59:40 +0200 From: Mariusz Bialonczyk User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120922 Icedove/10.0.7 MIME-Version: 1.0 To: vdr@linuxtv.org X-SA-Exim-Connect-IP: 2001:470:1f0b:1af::2 X-SA-Exim-Mail-From: manio@skyboo.net X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on draco.skyboo.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on skyboo.net) X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.10.7.184525 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, MSGID_ADDED_BY_MTA 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1800_1899 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, CT_TEXT_PLAIN_UTF8_CAPS 0, __ANY_URI 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_FROM 0, __HAS_MSGID 0, __HIGHBITS 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_PATH 0, __URI_NO_WWW 0, __URI_NS , __USER_AGENT 0' X-LSpam-Score: -1.1 (-) X-LSpam-Report: No, score=-1.1 required=5.0 tests=BAYES_00=-1.9, RDNS_NONE=0.793 autolearn=no Subject: [vdr] Polish EPG problems X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: vdr-bounces@linuxtv.org Errors-To: vdr-bounces@linuxtv.org 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: 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, 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;