Package: vorbis-tools Version: 1.1.1-1 The comments in Ogg / Vorbis files are meant to be encoded in UTF-8, which is a very good thing. The tools for handling Ogg / Vorbis files are supposed to automatically convert between hte user's encoding and UTF-8.
I have found that this encoding conversion does not work with vorbis-tools 1.1.1. One of the best ways to do such a conversion on a modern Unix operating system (such as GNU) is to use the nl_langinfo(CODESET) function to query the encoding from the locale settings, and to use the iconv functions to do the conversion. The vorbis-tools do all this right in the share/utf8.c and share/iconvert.c. Furthermore, they try to use the //TRANSLIT feature of the GNU iconv function to use replacement compatibility characters instead of unavailable characters. All this is very good. As iconv and nl_langinfo are not always available on obsolete Unix, and as any portable program would, vorbis-tools build system check for their availability and use remplacement, less efficient, builtin functions if they are not. Unfortunately, share/utf8.c and share/iconvert.c do not #include "../config.h" before they use some #ifdef HAVE_ICONV and #ifdef HAVE_LANGINFO_CODESET, and no corresponding -D is put on the command line by the makefiles. The result is that, whereas the correct code is present and working, it is not used. Furthermore, it can be noted that the behavior of vorbis-tools 1.0.1-1.5 was correct. Example showing the problem: 1. Produce a trivial Ogg Vorbis file: dd if=/dev/zero bs=176400 count=10 | oggenc -r -o bug.ogg - 2. Add a comment to it, using the raw mode: eacute=`/usr/bin/printf '\xC3\xA9'` vorbiscomment -R -w -t eacute="$eacute" bug.ogg 3. Read the comment back: ogginfo bug.ogg vorbiscomment bug.ogg Actual result: User comments section follows... eacute=? Expected result: User comments section follows... eacute=é Adding #include "../config.h" at the beginning of share/utf8.c and share/iconvert.c is enough to get the expected result. Additionnal (irrelevant) information: Debian Release: testing/unstable Architecture: amd64 or i386 Kernel: Linux she-seel 2.6.14.4-she-seel #2 PREEMPT Thu Dec 22 13:08:22 CET 2005 x86_64 GNU/Linux or: Linux hellroy 2.6.12-1-686 #1 Tue Sep 27 12:52:50 JST 2005 i686 GNU/Linux Locale settings: LANG, LC_ALL and CHARSET undefined, LC_CTYPE=fr_FR or LC_CTYPE_en_US.UTF-8 Versions of packages this package depends on: libao2 0.8.6-1.1 libc6 2.3.5-8.1 libcurl3-gnutls 7.15.1-1 libflac7 1.1.2-3 libogg0 1.1.2-1 liboggflac3 1.1.2-3 libspeex1 1.1.11.1-1 libvorbis0a 1.1.0-1 libvorbisenc2 1.1.0-1 libvorbisfile3 1.1.0-1
signature.asc
Description: Digital signature