Re: metaflac --no-utf8-convert complains about UTF
Jan Stary <[email protected]> Sat, 6 Dec 2014 09:54:55 +0100
| Newsgroups | gmane.comp.audio.compression.flac.user |
|---|---|
| Message-ID | <[email protected]> |
On Dec 05 20:16:47, [email protected] wrote: > This is 1.3.1 on OpenBSD/amd64. > The --no-utf8-convert option of metaflac(1) does not work for me: > = > $ metaflac --no-utf8-convert --set-tag=3D"Artist=3D=AEou=BEl=ED=E8ek" ala= din.flac > aladin.flac: ERROR: tag value for 'Artist' is not valid UTF-8 > (You probably can't see the Czech letters properly in my mail, > but that's beside the point.) > = > Indeed, it is not valid UTF8 (it's LATIN2), but isn't metaflac > supposed to just write it as specified, with this option? The problem seems to be in src/metaflac/operations_shorthand_vorbiscomment.c in the set_vc_field() function. It does check whether utf conversion is required, /* move 'data' into 'converted', converting to UTF-8 if necessary */ if(raw) { converted =3D data; } } but later checks that FLAC__format_vorbiscomment_entry_is_legal() whether or not we are utf converting; and this function, defined in ./src/libFLAC/format.c, ultimately calls for utf8len_(s) no matter what. So my LATIN2 text fails to be legal, because it's not legal UTF -- which, indeed, it isn't. Jan