TagLib Problems

Manfred Schwind lists at mani.de
Thu Jan 5 16:34:27 UTC 2012


> 3. taglib sometimes loses atoms in MPEG-4 files. The reason: The atoms are organized in taglib in a TagLib::Map<String, Item> structure - but I have some files where multiple atoms with the same name are present! Mostly these are "free form atoms" with "----" as name. One effect that I saw: iTunes stores some information like bitrate mode in such an atom, so the file shows e.g. "VBR" in the bitrate information in iTunes. After being processed by taglib, this "VBR" information is gone. But it's just coincidence that _this_ "----" atom was discarded and not the other. And I don't know what that might have stored. And I don't know what else type of atoms might be affected by this problem. I think one solution might be to organize the atoms as TagLib::Map<String, TagLib::List<Item> > or something like that (I haven't tried that yet).

I'm not sure about this issue.
It seems there are two "----" Atoms in my file, they get both instantiated as TagLib::MP4::Atom objects.
And when inserting these Atoms into the TagLib::Map<String, Item> there seems to be some more stuff appended to the "----" name used as key, so maybe there is no need to switch to a "Map of List" or something like that. I'm not that much into the MP4 standard.
But when saving the file, one of the two "----" atoms in my test file is removed. I'm still trying to figure out what causes that. First I thought the TagLib::Map organization is the cause, but now I'm no longer sure about that! Sorry for the confusion. Still debugging ...


More information about the taglib-devel mailing list