Changed the default character set for SI data from ISO6937 to ISO-8859-9

This commit is contained in:
Klaus Schmidinger 2008-03-01 12:06:27 +01:00
parent 3bd7f7a0e0
commit 4b4ef2df60
2 changed files with 7 additions and 1 deletions

View File

@ -5690,3 +5690,6 @@ Video Disk Recorder Revision History
- The 'plugins' target in the Makefile now returns an error exit code if one of the - The 'plugins' target in the Makefile now returns an error exit code if one of the
plugins failed to compile (suggested by Tobias Grimm). plugins failed to compile (suggested by Tobias Grimm).
- Rendering the non-breaking space symbol as a blank (thanks to Tobias Grimm). - 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.

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: si.c 1.23 2008/02/26 16:25:14 kls Exp $ * $Id: si.c 1.24 2008/03/01 12:02:01 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -340,6 +340,9 @@ bool SetSystemCharacterTable(const char *CharacterTable) {
// and length are adjusted accordingly. // and length are adjusted accordingly.
static const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL) { static const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL) {
const char *cs = "ISO6937"; const char *cs = "ISO6937";
cs = "ISO-8859-9"; // 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.
if (isSingleByte) if (isSingleByte)
*isSingleByte = false; *isSingleByte = false;
if (length <= 0) if (length <= 0)