From patchwork Wed Mar 5 17:10:59 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Klaus Schmidinger X-Patchwork-Id: 12619 Received: from raven.cadsoft.de ([217.7.101.211]) by www.linuxtv.org with esmtp (Exim 4.63) (envelope-from ) id 1JWx8x-0005WE-WB for vdr@linuxtv.org; Wed, 05 Mar 2008 18:11:04 +0100 Received: from [192.168.100.10] (hawk.cadsoft.de [192.168.100.10]) by raven.cadsoft.de (8.13.3/8.13.3) with ESMTP id m25HAxPP004111 for ; Wed, 5 Mar 2008 18:11:00 +0100 Message-ID: <47CED423.2060303@cadsoft.de> Date: Wed, 05 Mar 2008 18:10:59 +0100 From: Klaus Schmidinger Organization: CadSoft Computer GmbH User-Agent: Thunderbird 2.0.0.9 (X11/20070801) MIME-Version: 1.0 To: vdr@linuxtv.org References: <47CA8238.9000802@cadsoft.de> <200803042126.42446.ajurik@quick.cz> In-Reply-To: <200803042126.42446.ajurik@quick.cz> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (raven.cadsoft.de [192.168.1.1]); Wed, 05 Mar 2008 18:11:00 +0100 (CET) X-LSpam-Score: 0.0 (/) Subject: Re: [vdr] [ANNOUNCE] VDR developer version 1.5.17 - release candidate 2 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Mar 2008 17:11:04 -0000 Status: O X-Status: X-Keywords: X-UID: 15964 On 03/04/08 21:26, Ales Jurik wrote: > On Sunday 02 of March 2008, Klaus Schmidinger wrote: >> - Rendering the non-breaking space symbol as a blank (thanks to Tobias >> Grimm). - Changed the default character set for SI data from ISO6937 (as >> required by the DVB standard ETSI EN 300 468) to ISO-8859-9, in order to >> work around the stupidity of some providers, who actually use ISO-8859-9, >> but fail to correctly announce that. > > Hi Klaus, > > this change is preventing to use vdr for all Czech/Slovak satellite providers > as they broadcast epg in ISO6937 (ok, UPC at 19.2E with some minor errors). This was exactly what I was afraid of - now the broadcasts that actually do follow the standards are broken. Please try the attached patch. With this the default is ISO6937 again, and can be overridden by setting the environment variable VDR_CHARSET_OVERRIDE. Users in Germany should please test this, too, and do an export VDR_CHARSET_OVERRIDE=ISO-8859-9 before starting VDR. Klaus --- libsi/si.c 2008/03/01 12:02:01 1.24 +++ libsi/si.c 2008/03/05 17:00:55 @@ -14,6 +14,7 @@ #include #include #include +#include // for broadcaster stupidity workaround #include #include "descriptor.h" @@ -340,9 +341,12 @@ // and length are adjusted accordingly. static const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL) { const char *cs = "ISO6937"; - cs = "ISO-8859-9"; // Workaround for broadcaster stupidity: according to + // Workaround for broadcaster stupidity: according to // "ETSI EN 300 468" the default character set is ISO6937. But unfortunately some // broadcasters actually use ISO-8859-9, but fail to correctly announce that. + static const char *CharsetOverride = getenv("VDR_CHARSET_OVERRIDE"); + if (CharsetOverride) + cs = CharsetOverride; if (isSingleByte) *isSingleByte = false; if (length <= 0)