I'm writing some C++ code to add my own user-defined tags to .m4a's that were ripped by iTunes. The code I've found so far that can modify mp4 tags are faad2/mp4ff and mpeg4ip/libmp4v2_st60.
Both of these move the metadata to the end of the file. (Although mpeg4ip has an "optimize" method that can move it back to the beginning). I was hoping to find some C or C++ code that would take advantage of the 'free' atom that iTunes writes after the metadata to avoid wasting space in the file and/or file rewriting. Does anyone know of such a thing?
Are there any issues with iTunes being able to read files that were tagged with either of these libraries?
I ask because I've seen posts like this one that indicate iTunes may have problems with fb2k-replaygained files. My reading of the fb2k code is that it uses faad2/mp4ff for tagging mp4 files.
Thanks for the help!
Dave