shithub: sox

Download patch

ref: 045394d9cdb4ebb4536a5eab668e715102c58b86
parent: 567e88a4723f862d9e506820e0b0c0eedc47b23f
author: cbagwell <cbagwell>
date: Fri Nov 21 09:31:10 EST 2008

SSND chunks length includes non-audio data in chunk.  Don't include
that as part of audio length.  Don't submit 4 bytes from length
for sowt tracks.  It was probably a work around for length issue.

--- a/src/aiff.c
+++ b/src/aiff.c
@@ -367,6 +367,7 @@
         if (blocksize != 0)
             lsx_warn("AIFF header has invalid blocksize.  Ignoring but expect a premature EOF");
 
+        ssndsize -= offset;
         while (offset-- > 0) {
                 if (lsx_readb(ft, &trash8) == SOX_EOF)
                 {
@@ -411,10 +412,7 @@
 
         /* Cope with 'sowt' CD tracks as read on Macs */
         if (is_sowt)
-        {
-                aiff->nsamples -= 4;
                 ft->encoding.reverse_bytes = !ft->encoding.reverse_bytes;
-        }
 
         if (foundmark && !foundinstr)
         {