I'm writing an audio library that includes reading and writing wave files and I understand the differences between the three possible wave file formats, but it's unclear when to use the extensible format when dealing with mono or stereo PCM data. I've been using this as my main reference and it clears up the obvious cases of when to use the extensible format. However, the link mentions that the extensible format should be used if PCM data greater than 16-bits, but when I try exporting 24 or 32-bit audio using Audacity they aren't using the extensible format.
I haven't found any mention in the specification that the extensible format should be favored in this case, or if all files should use the extensible format. Would a modern library even support the older formats? Should I simplify file writing to using the extensible format for all cases?
Update:
I found this resource from Microsoft about the format chunk. From what I understand, PCM data could use the extensible format or the 18 byte format, but the older 16 byte format is obsolete. Does anyone know if you can play WAVE PCM files with a 16 byte header on a Windows machine? How about 24-bit PCM with the 16 byte header? That was another edge case I found online. I don't have a Windows image, so I can't check it myself.