]> gitweb.factorcode.org Git - factor.git/commitdiff
fix audio.vorbis streaming to read in data from factor stream whenever necessary...
authorJoe Groff <arcata@gmail.com>
Tue, 26 Jan 2010 03:19:17 +0000 (19:19 -0800)
committerJoe Groff <arcata@gmail.com>
Tue, 26 Jan 2010 03:19:17 +0000 (19:19 -0800)
extra/audio/vorbis/vorbis.factor

index 6d27d7040e45e58ba8c6109592ab913e08f0ac0c..7fce2b4316173e8256687ed112c77bfbaff5c7c1 100644 (file)
@@ -62,7 +62,11 @@ ERROR: no-vorbis-in-ogg ;
     [ sync-state>> ] [ page>> ] bi ogg_sync_pageout 0 > ; inline
 
 : (sync-pages) ( vorbis-stream ? -- ? )
-    over retrieve-page [ [ drop queue-page ] [ drop t (sync-pages) ] 2bi ] [ nip ] if ;
+    over retrieve-page
+    [ drop [ queue-page ] [ t (sync-pages) ] bi ] [
+        over buffer-data-from-stream
+        [ (sync-pages) ] [ nip ] if
+    ] if ;
 : sync-pages ( vorbis-stream -- ? )
     f (sync-pages) ; inline
 
@@ -199,8 +203,7 @@ ERROR: no-vorbis-in-ogg ;
             [ 2dup = ]
             [
                 drop
-                [ drop buffer-data-from-stream drop ]
-                [ over sync-pages [ decode-audio ] [ nip ] if ] 2bi
+                over sync-pages [ decode-audio ] [ nip ] if
             ]
         }
         [ nip decode-audio ]