]> gitweb.factorcode.org Git - factor.git/commitdiff
die if wav fmt or data chunk is missing
authorJoe Groff <arcata@gmail.com>
Wed, 29 Apr 2009 13:40:31 +0000 (08:40 -0500)
committerJoe Groff <arcata@gmail.com>
Wed, 29 Apr 2009 13:40:31 +0000 (08:40 -0500)
extra/audio/wav/wav.factor

index 998752eb3aa5e56af73a258b249e6a78b03340ff..6b76e98f3adcbe58715008e509091f118b28591e 100644 (file)
@@ -59,7 +59,7 @@ ERROR: invalid-wav-file ;
         { [ dup FMT-MAGIC  "wav-fmt-chunk"  heap-size check-chunk ] [ fmt!  ] }
         { [ dup DATA-MAGIC "wav-data-chunk" heap-size check-chunk ] [ data! ] }
     } cond ] while drop
-    fmt data ;
+    fmt data 2dup and [ invalid-wav-file ] unless ;
 
 : verify-wav ( chunk -- )
     {
@@ -69,7 +69,7 @@ ERROR: invalid-wav-file ;
     [ invalid-wav-file ] unless ;
 
 : (read-wav) ( -- audio )
-    read-wav-chunks 
+    read-wav-chunks
     [
         [ wav-fmt-chunk-num-channels    2 memory>byte-array le> ]
         [ wav-fmt-chunk-bits-per-sample 2 memory>byte-array le> ]