On 2 April 2013 21:29, Paul Davis <paul@linuxaudiosystems.com> wrote:


On Tue, Apr 2, 2013 at 3:24 PM, Monty Montgomery <xiphmont@gmail.com> wrote:
Huh, you're right.

Oh, i see... we've been supporting >4GB wave files in the Xiph stuff
by setting the length to 0xFFFFFFFF and assuming the data chunk is
last (intuiting chunk length from file length).

nothing about RIFF implies that the data chunk is last.  in fact, there is no ordering at all except that the RIFF chunk is first. there are several windows app that make this "mistake".

w64 is the format to use, and libsndfile handles it (and CAF) with distinction.
 
I guess this is a bug in sox then. If I use sndfile-concat (by first turning the first wave file into w64), a correct w64 is made, and if I use sndfile-salvage on the wave sox produced (the one with too much sound for the header to explain) a correct file is also made. Either way, success!

Thanks for the insight guys.