Post by Jan StaryThis is 1.3.1 on OpenBSD/amd64.
$ metaflac --no-utf8-convert --set-tag="Artist=Žoužlíček" aladin.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 = 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.
https://xiph.org/flac/format.html#metadata_block_vorbis_comment
http://www.xiph.org/vorbis/doc/v-comment.html
Note that a VorbisComment is defined as
being UTF-8, although metaflac --no-utf8-convert
doesn't seem to be behaving as advertised.
Reading the above links, the Vorbis Comment is defined to be UTF8.
What is the purpose of --no-utf8-convert in setting tags then?
To specifically ask for invalid files?
Maybe I am misunderstanding the meaning of --no-utf8-convert.
Perhaps the current behaviour is intended, and --no-utf8-convert
just means "don't bother converting, it is already UTF8".
Which my example isn't, and metaflac rightfully complains.
Can anybody please shed some light on this?
Post by Jan StaryFinally, Jan might have more luck taking his
problem with metatflac over to the flac-dev list.
http://sourceforge.net/p/flac/bugs/
Yes, I will move this to flac-dev and file a proper bug report
once I am sure it is a bug, and it's the bug I think it is.
BTW, the other Xiph projects track their issues at https://trac.xiph.org/
- is it intentional that FLAC uses the sourceforge bug tracker?
Is there any relation between the two?
Jan