When I entered repeatedly unsupported value 0 to ITUNESGAPLESS(pgap) / ITUNESHDVIDEO(hdvd) / PODCAST(pcst) field,
Mp3tag creates duplicate atom to the m4a file.
Why is 0 unsupported? Is there any reason? I hope that 3 fields will accept 0. COMPILATION(cpil), ITUNESADVISORY(rtng) field accept 0/1 value (off/on) correctly. https://docs.mp3tag.de/mapping
these fields were more or less invented for iTunes. They are there to indicate that a file has a certain property like being a podcast, for instance.
See https://docs.mp3tag.de/mapping/#podcast that only 1 is a valid value. Otherwise you have to delete it.
This is no bug, this is the way that iTunes uses this unofficial field extension.
ITUNESHDVIDEO is described as boolean - which is probably not true any more. And the 0 should be treated just like the other iTunes proprietary fields.
For iTUNESGAPLESS you get the description
"Syntax: Set value to 1 or delete the field."
The same applies to
"PODCAST
Syntax: Either enter the value 1 or delete the field"
For boolean values you can generally claim that any value that is not 0 is treated as true.
So entering 0 for ITUNESHDVIDEO creates a statement that "this is no HD video" - which is probably true for most files in a library. So to save space, the 0-value is not stored.
And again: even though MP3tag can create a non-standard field or atom, it is not responsible what the target application makes of it. The advice "Syntax: Set value to 1 or delete the field." indicates that other values are possible but that they are possibly invalid syntax.
If you do not follow the syntax rules, you will not get the desired results.