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.