On Tue, Apr 2, 2013 at 3:12 PM, Paul Davis <paul@linuxaudiosystems.com> wrote:


On Tue, Apr 2, 2013 at 2:35 PM, Monty Montgomery <xiphmont@gmail.com> wrote:
Regular WAV at ~CD rate is limited to about 5 hours because the length
encoding fields are 32 bit.  You need to generate an extended WAV with
the WAVEFORMATEXTENSIBLE struct that allows a 16 exabyte data chunk.
I'm a little surprised sox doesn't do that by default.

I wasn't aware that WAVEFORMATEXTENSIBLE covered file sizes - the spec seems to be mostly about "higher resolution" sample formats. what did i miss?

Specifically:

   "The WAVE_FORMAT_EXTENSIBLE format code indicates that there is an extension to the Format chunk. The extension has one field which declares the number of "valid" bits/sample (wValidBitsPerSample). Another field (dwChannelMask) contains a bits which indicate the mapping from channels to loudspeaker positions. The last field (SubFormat) is a 16-byte globally unique identifier (GUID)."

it does not change the size of the size field of the RIFF or data chunks, which is what matters here.